public App() { Instance = this; FlowListView.Init(); GetUserCredentials(); InitializeComponent(); var tabbedPageViewModel = new TabbedPageViewModel(); RefreshViews += (o, e) => { tabbedPageViewModel.RefreshViewModels(); }; MainPage = new NavigationPage(new MainTabbedPage() { BindingContext = tabbedPageViewModel }); if (!UserAuthorised) { InitAuthorisation(); } else { realmPath = CurrentUser.Name; InitializeDatabasePaths(); SetRealmConnection(); RefreshViews?.Invoke(new object(), EventArgs.Empty); } }
public TabPageTab1() { InitializeComponent(); var viewModel = new TabbedPageViewModel(); _listView.ItemsSource = viewModel.Items; }
public MoviesTabbedPage() { InitializeComponent(); FixedMode = true; BarTheme = BarThemeTypes.DarkWithAlpha; BarTextColor = Color.FromRgb(181, 13, 13); BindingContext = new TabbedPageViewModel(Children); }
public TabbedPage(int index) { InitializeComponent(); BindingContext = viewModel = new TabbedPageViewModel(); Xamarin.Forms.NavigationPage.SetHasNavigationBar(this, false); IsNewInstance = true; _index = index; App.TabbedPage = this; On <Xamarin.Forms.PlatformConfiguration.iOS>().SetUseSafeArea(true); }
/// <summary> /// Set MainPage to a tabbed page container. /// Also initializes all tabs' viewmodels. /// </summary> /// <typeparam name="TPage">Must be of type TabbedPage.</typeparam> /// <returns></returns> public static async Task SetTabbedMainPage <TPage>(int pageIndex = 0, TabbedPageViewModel tabsViewModel = null, PageViewModel[] tabViewModels = null) where TPage : TabbedPage, new() { TPage tabbedPage = new TPage(); if (tabsViewModel != null) { tabbedPage.BindingContext = tabsViewModel; } if (tabViewModels != null) { for (int tabIndex = 0; tabIndex < tabbedPage.Children.Count; tabIndex++) { if (tabViewModels.Length > tabIndex) { tabbedPage.Children[tabIndex].BindingContext = tabViewModels[tabIndex]; } } } var page = tabbedPage.Children[pageIndex]; tabbedPage.CurrentPage = page; await CleanupPreviousMainPage(); Device.BeginInvokeOnMainThread(() => { Application.Current.MainPage = tabbedPage; }); await Init(page); var initTasks = new List <Task>(); int index = 0; foreach (var cp in tabbedPage.Children) { if (index != pageIndex) { initTasks.Add(Init(cp)); } index++; } ; await Task.WhenAll(initTasks); }
public MainListPage() { _indicatorStyle = CarouselLayout.IndicatorStyleEnum.Tabs; // viewModel = new SwitcherPageViewModel(); _viewModel = new TabbedPageViewModel(); BindingContext = _viewModel; // BindingContext = viewModel; //BackgroundColor = Color.Black; Title = "Gaceta Universitaria"; NavigationPage.SetHasNavigationBar(this, true); NavigationPage.SetHasBackButton(this, false); relativeLayout = new RelativeLayout { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand }; var pagesCarousel = CreatePagesCarousel(); //var dots = CreatePagerIndicatorContainer(); _tabs = CreateTabs(); switch (pagesCarousel.IndicatorStyle) { case CarouselLayout.IndicatorStyleEnum.Tabs: var tabsHeight = 60; relativeLayout.Children.Add(_tabs, Constraint.Constant(0), Constraint.RelativeToParent((parent) => { return(parent.Height - tabsHeight); }), Constraint.RelativeToParent(parent => parent.Width), Constraint.Constant(tabsHeight) ); relativeLayout.Children.Add(pagesCarousel, Constraint.RelativeToParent((parent) => { return(parent.X); }), Constraint.RelativeToParent((parent) => { return(parent.Y); }), Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.RelativeToView(_tabs, (parent, sibling) => { return(parent.Height - (sibling.Height)); }) ); break; } Content = relativeLayout; }
public MainListPage() { _indicatorStyle = CarouselLayout.IndicatorStyleEnum.Tabs; // viewModel = new SwitcherPageViewModel(); _viewModel = new TabbedPageViewModel(); BindingContext = _viewModel; // BindingContext = viewModel; //BackgroundColor = Color.Black; Title = "CodeProject"; NavigationPage.SetHasNavigationBar(this, true); NavigationPage.SetHasBackButton(this, false); relativeLayout = new RelativeLayout { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand }; var pagesCarousel = CreatePagesCarousel(); //var dots = CreatePagerIndicatorContainer(); _tabs = CreateTabs(); switch (pagesCarousel.IndicatorStyle) { case CarouselLayout.IndicatorStyleEnum.Tabs: var tabsHeight = 50; relativeLayout.Children.Add(_tabs, Constraint.Constant(0), Constraint.RelativeToParent((parent) => { return parent.Height - tabsHeight; }), Constraint.RelativeToParent(parent => parent.Width), Constraint.Constant(tabsHeight) ); relativeLayout.Children.Add(pagesCarousel, Constraint.RelativeToParent((parent) => { return parent.X; }), Constraint.RelativeToParent((parent) => { return parent.Y; }), Constraint.RelativeToParent((parent) => { return parent.Width; }), Constraint.RelativeToView(_tabs, (parent, sibling) => { return parent.Height - (sibling.Height); }) ); break; } Content = relativeLayout; }
public void ActivatingReactiveTabbedPageTest() { var vm1 = new TabbedPageViewModel(); var fixture1 = new TabbedPageView { ViewModel = vm1 }; // Activate Shell.Current.Navigation.PushAsync(fixture1); Assert.Equal(1, fixture1.ViewModel.IsActiveCount); Assert.Equal(1, fixture1.IsActiveCount); // Deactivate Shell.Current.GoToAsync(".."); fixture1.ViewModel = null; Assert.Equal(0, vm1.IsActiveCount); Assert.Equal(0, fixture1.IsActiveCount); }
public HomePage() { NavigationPage.SetHasNavigationBar(this, false); _viewModel = new TabbedPageViewModel(); BindingContext = _viewModel; BackgroundColor = Color.White; _relativeLayout = new RelativeLayout { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand }; var pagesCarousel = CreatePagesCarousel(); _tabs = CreateTabs(); var tabsHeight = 50; _relativeLayout.Children.Add(_tabs, Constraint.Constant(0), Constraint.RelativeToParent((parent) => { return(parent.Height - tabsHeight); }), Constraint.RelativeToParent(parent => parent.Width), Constraint.Constant(tabsHeight) ); _relativeLayout.Children.Add(pagesCarousel, Constraint.RelativeToParent((parent) => { return(parent.X); }), Constraint.RelativeToParent((parent) => { return(parent.Y); }), Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.RelativeToView(_tabs, (parent, sibling) => { return(parent.Height - (sibling.Height)); }) ); Content = _relativeLayout; }
public XML() { InitializeComponent(); BindingContext = TabbedPageViewModel.GetInstance(); }
public InvoiceDetailPage() { _viewModel = new TabbedPageViewModel(); BindingContext = _viewModel; BackgroundColor = Color.White; _relativeLayout = new RelativeLayout { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand }; var pagesCarousel = CreatePagesCarousel(); _tabs = CreateTabs(); var tabsHeight = 36; _relativeLayout.Children.Add(_tabs, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent(parent => parent.Width), Constraint.Constant(tabsHeight) ); _relativeLayout.Children.Add(pagesCarousel, Constraint.RelativeToParent((parent) => { return(parent.X); }), Constraint.RelativeToParent((parent) => { return(tabsHeight); }), Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.RelativeToView(_tabs, (parent, sibling) => { return(parent.Height - (sibling.Height)); }) ); StackLayout stackLayout = new StackLayout { BackgroundColor = Color.White }; StackLayout menu = new StackLayout { HeightRequest = Device.OnPlatform(56, 46, 46), BackgroundColor = Color.White, Orientation = StackOrientation.Horizontal, VerticalOptions = LayoutOptions.Center, }; Image togglMenuImage = new Image { HorizontalOptions = LayoutOptions.Start, VerticalOptions = LayoutOptions.Center, WidthRequest = 18, HeightRequest = 18, Source = "toggle_menu.png", }; StackLayout menuBarCenter = new StackLayout { Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.Center }; Label MenuBarTitle = new Label { HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.Center, FontSize = 18, Text = "SmartDocs", TextColor = Color.Black }; menuBarCenter.Children.Add(MenuBarTitle); Image SearchImage = new Image { HorizontalOptions = LayoutOptions.End, VerticalOptions = LayoutOptions.Center, Source = "search.png", WidthRequest = 18, HeightRequest = 18 }; menu.Children.Add(togglMenuImage); menu.Children.Add(menuBarCenter); menu.Children.Add(SearchImage); menu.Padding = new Thickness(10, 38, 10, 10); stackLayout.Children.Add(menu); _relativeLayout.BackgroundColor = Color.White; stackLayout.Children.Add(_relativeLayout); Content = stackLayout; NavigationPage.SetHasNavigationBar(this, false); }
public MainTabbedPage() { InitializeComponent(); BindingContext = new TabbedPageViewModel(); }
public NewInvoice() { _viewModel = new TabbedPageViewModel(); BindingContext = _viewModel; BackgroundColor = Color.White; Title = "Title"; _relativeLayout = new RelativeLayout { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand }; var pagesCarousel = CreatePagesCarousel(); _tabs = CreateTabs(); var tabsHeight = 36; _relativeLayout.Children.Add(_tabs, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent(parent => parent.Width), Constraint.Constant(tabsHeight) ); _relativeLayout.Children.Add(pagesCarousel, Constraint.RelativeToParent((parent) => { return(parent.X); }), Constraint.RelativeToParent((parent) => { return(tabsHeight); }), Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.RelativeToView(_tabs, (parent, sibling) => { return(parent.Height - (sibling.Height)); }) ); StackLayout stackLayout = new StackLayout { BackgroundColor = Color.White }; StackLayout menu = new StackLayout { HeightRequest = Device.OnPlatform(56, 46, 46), BackgroundColor = Color.White, Orientation = StackOrientation.Horizontal, VerticalOptions = LayoutOptions.Center }; var backButtonTap = new TapGestureRecognizer(); backButtonTap.Tapped += OnBackButtonClicked; Image backButton = new Image { HorizontalOptions = LayoutOptions.Start, VerticalOptions = LayoutOptions.Center, WidthRequest = 24, HeightRequest = 24, Source = "back.png", }; backButton.GestureRecognizers.Add(backButtonTap); StackLayout menuBarCenter = new StackLayout { Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.Center }; Label MenuBarTitle = new Label { HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.Center, FontSize = 18, Text = "NEW INVOICE REQUEST", TextColor = Color.Black }; menuBarCenter.Children.Add(MenuBarTitle); Button sendButton = new Button { HorizontalOptions = LayoutOptions.End, VerticalOptions = LayoutOptions.Center, Text = "Send", FontAttributes = FontAttributes.Bold, HeightRequest = 18 }; menu.Children.Add(backButton); menu.Children.Add(menuBarCenter); menu.Children.Add(sendButton); menu.Padding = new Thickness(10, 38, 10, 10); stackLayout.Children.Add(menu); _relativeLayout.BackgroundColor = Color.White; stackLayout.Children.Add(_relativeLayout); Content = stackLayout; NavigationPage.SetHasNavigationBar(this, false); }