Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Xamarin.Forms;
- using ThoughtCastRewrite.Models;
- using CarouselView.FormsPlugin.Abstractions;
- using System.Collections.ObjectModel;
- using System.ComponentModel;
- namespace ThoughtCastRewrite
- {
- public partial class MainPage : ContentPage
- {
- OnboardingPageVm _onBoardingVm;
- public MainPage()
- {
- InitializeComponent();
- Title = "Carousel View";
- _onBoardingVm = new OnboardingPageVm();
- BindingContext = _onBoardingVm;
- CarouselViewControl carouselView = new CarouselViewControl
- {
- VerticalOptions = LayoutOptions.FillAndExpand,
- HorizontalOptions = LayoutOptions.FillAndExpand,
- ShowIndicators = true
- };
- var onBoardingDataTemplate = new DataTemplate(CreateViewTemplate);
- carouselView.ItemTemplate = onBoardingDataTemplate;
- Grid mainContainer = new Grid { };
- mainContainer.Children.Add(carouselView, 0, 0);
- Content = mainContainer;
- #region Bindings
- carouselView.SetBinding(CarouselViewControl.ItemsSourceProperty, nameof(_onBoardingVm.BoardingObjectsList));
- #endregion
- }
- View CreateViewTemplate()
- {
- var view = new StackLayout
- {
- BindingContext = _onBoardingVm.BoardingObjectsList
- };
- Button buttonToMain = new Button { Text = "Connect to Sensor Board" };
- buttonToMain.Clicked += ButtonToMain_Clicked;
- var buttonnew = new Image
- {
- Aspect = Aspect.AspectFill,
- };
- view.Children.Add(buttonnew);
- view.Children.Add(buttonToMain);
- view.SetBinding(BackgroundColorProperty, nameof(OnboardingModel.Color));
- return view;
- }
- private void ButtonToMain_Clicked(object sender, EventArgs e)
- {
- this.Content = CreateViewTemplateMain();
- }
- View CreateBluetoothTemplate()
- {
- var view = new StackLayout
- {
- BackgroundColor = Color.FromHex("#292929"),
- BindingContext = _onBoardingVm.BoardingObjectsList
- };
- var labelDevicesList = new Label()
- {
- Text = "Devices List"
- };
- BluetoothInfo listBluetoothDevices = DependencyService.Get<BluetoothInfo>();
- var listView = new ListView();
- listView.ItemsSource = listBluetoothDevices.bluetoothDevices();
- view.Children.Add(labelDevicesList);
- view.Children.Add(listView);
- return view;
- }
- View CreateViewTemplateMain()
- {
- var view = new StackLayout
- {
- BackgroundColor = Color.FromHex("#292929"),
- BindingContext = _onBoardingVm.BoardingObjectsList
- };
- var grid = new Grid();
- grid.HorizontalOptions = LayoutOptions.Center;
- grid.VerticalOptions = LayoutOptions.CenterAndExpand;
- grid.RowDefinitions.Add(new RowDefinition { Height = 55 });
- // grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
- grid.ColumnDefinitions.Add(new ColumnDefinition { Width = 150 });
- // grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
- Image imageBrainLogo = new Image
- {
- HeightRequest = 400,
- };
- view.Children.Add(imageBrainLogo);
- imageBrainLogo.Source = ImageSource.FromResource("ThoughtCastRewrite.Thoughtcast.png");
- Label labelConnectionStatus = new Label
- {
- Text = "Disconnected",
- FontSize = 8,
- HorizontalTextAlignment = TextAlignment.Center,
- TextColor = Color.Red
- };
- Button buttonConnectToSensorBoard = new Button
- {
- Text = "Connect to Sensor Board",
- FontSize = 8,
- BorderColor = Color.White,
- BorderWidth = 1,
- BackgroundColor = Color.FromHex("#292929"),
- WidthRequest = 5,
- HeightRequest = 35,
- TextColor = Color.White
- };
- buttonConnectToSensorBoard.Clicked += ButtonConnectToSensorBoard_Clicked;
- Button buttonDrawingMode = new Button
- {
- Text = "Drawing Mode",
- FontSize = 8,
- BackgroundColor = Color.FromHex("#454645"),
- WidthRequest = 5,
- HeightRequest = 35,
- TextColor = Color.White
- };
- Button buttonZoneMode = new Button
- {
- Text = "Zone Mode",
- FontSize = 8,
- BackgroundColor = Color.FromHex("#454645"),
- WidthRequest = 5,
- HeightRequest = 35,
- TextColor = Color.White
- };
- Button buttonSavedDrawings = new Button
- {
- Text = "Saved Drawings",
- FontSize = 8,
- BackgroundColor = Color.FromHex("#454645"),
- WidthRequest = 5,
- HeightRequest = 35,
- TextColor = Color.White
- };
- Button buttonSettings = new Button
- {
- Text = "Settings",
- FontSize = 8,
- BackgroundColor = Color.FromHex("#454645"),
- WidthRequest = 5,
- HeightRequest = 35,
- TextColor = Color.White
- };
- Button buttonInstructions = new Button
- {
- Text = "Instructions",
- FontSize = 8,
- BackgroundColor = Color.FromHex("#454645"),
- WidthRequest = 5,
- HeightRequest = 35,
- TextColor = Color.White
- };
- grid.Children.Add(imageBrainLogo, 0, 0);
- grid.Children.Add(labelConnectionStatus, 0 , 1);
- grid.Children.Add(buttonConnectToSensorBoard, 0, 2);
- grid.Children.Add(buttonDrawingMode, 0, 3);
- grid.Children.Add(buttonZoneMode, 0, 4);
- grid.Children.Add(buttonSavedDrawings, 0, 5);
- grid.Children.Add(buttonSettings, 0, 6);
- grid.Children.Add(buttonInstructions, 0, 7);
- view.Children.Add(grid);
- /*
- view.Children.Add(buttonConnectToSensorBoard);
- view.Children.Add(buttonDrawingMode);
- view.Children.Add(buttonZoneMode);
- view.Children.Add(buttonSavedDrawings);
- view.Children.Add(buttonSettings);
- view.Children.Add(buttonInstructions);
- */
- return view;
- }
- private void ButtonConnectToSensorBoard_Clicked(object sender, EventArgs e)
- {
- this.Content = CreateBluetoothTemplate();
- }
- }
- public class OnboardingTemplateView : StackLayout
- {
- public BoxView BackGroundProperty;
- public OnboardingTemplateView()
- {
- BackGroundProperty = new BoxView
- {
- HorizontalOptions = LayoutOptions.Fill,
- VerticalOptions = LayoutOptions.Fill
- };
- Children.Add(BackGroundProperty);
- }
- }
- public class OnboardingModel
- {
- public Color Color { get; set; }
- public String ImageSource { get; set; }
- }
- public class OnboardingPageVm : INotifyPropertyChanged
- {
- public event PropertyChangedEventHandler PropertyChanged;
- public ObservableCollection<OnboardingModel> BoardingObjectsList { get; set; }
- public OnboardingPageVm()
- {
- BoardingObjectsList = new ObservableCollection<OnboardingModel>
- {
- new OnboardingModel
- {
- Color = Color.FromHex("#292929"),
- ImageSource = "ThoughtCastRewrite.walkthroughPage1Element.png"
- },
- new OnboardingModel
- {
- Color = Color.FromHex("#292929"),
- ImageSource = "ThoughtCastRewrite.walkthroughPage1Element.png"
- },
- new OnboardingModel
- {
- Color = Color.FromHex("#292929"),
- ImageSource = "ThoughtCastRewrite.walkthroughPage1Element.png"
- },
- new OnboardingModel
- {
- Color = Color.FromHex("#292929"),
- ImageSource = "ThoughtCastRewrite.walkthroughPage1Element.png"
- }
- };
- }
- protected virtual void OnPropertyChanged(string propertyName)
- {
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement