Exemplo n.º 1
0
        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;
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 5
0
        /// <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);
        }
Exemplo n.º 6
0
        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;
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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;
        }
Exemplo n.º 10
0
 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();
        }
Exemplo n.º 13
0
        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);
        }