Esempio n. 1
0
        public App(
            ViewModelFactory viewModelFactory,
            PageFactory pageFactory,
            Func <Page, NavigationPage> navigationPageFactory,
            BackgroundService backgroundService,
            IThemeService themeService)
        {
            InitializeComponent();

            _backgroundService = backgroundService;

            RequestedThemeChanged += (s, e) =>
            {
                themeService.CurrentTheme = e.RequestedTheme switch
                {
                    OSAppTheme.Dark => ThemeType.Dark,
                    OSAppTheme.Light => ThemeType.Light,
                    _ => ThemeType.System
                };
                themeService.ApplyCurrentTheme();
            };
            themeService.ApplyCurrentTheme();

            var vm             = viewModelFactory(typeof(CreationListPageViewModel), null);
            var page           = pageFactory(typeof(CreationListPage), vm);
            var navigationPage = navigationPageFactory(page);

            navigationPage.BarBackgroundColor = Color.Red;
            navigationPage.BarTextColor       = Color.White;

            MainPage = navigationPage;
        }