コード例 #1
0
ファイル: MainActivity.cs プロジェクト: mmaasstteerr/AoLibs
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);

            ////var pageDefinitions = new Dictionary<PageIndex, IPageProvider<NavigationFragmentBase>>
            ////{
            ////    // cached
            ////    {PageIndex.PageA, new CachedPageProvider<TestPageAFragment>()},
            ////    // oneshots
            ////    {PageIndex.PageB, new OneshotPageProvider<TestPageBFragment>()},
            ////};

            var dialogDefinitions = new Dictionary <DialogIndex, ICustomDialogProvider>
            {
                { DialogIndex.TestDialogA, new OneshotCustomDialogProvider <TestDialogA>() },
                { DialogIndex.TestDialogB, new OneshotCustomDialogProvider <TestDialogB>() }
            };

            var manager = new NavigationManager <PageIndex>(
                SupportFragmentManager,
                RootView,
                new ViewModelResolver());

            var dialogManager = new CustomDialogsManager <DialogIndex>(
                SupportFragmentManager,
                dialogDefinitions,
                new ViewModelResolver());

            // usually you would do it in Application class but for showcase sake I will skip that
            InitializationRoutines.Initialize(builder =>
            {
                builder.RegisterType <ClipboardProvider>().As <IClipboardProvider>().SingleInstance();
                builder.RegisterType <DispatcherAdapter>().As <IDispatcherAdapter>().SingleInstance();
                builder.RegisterType <FileStorageProvider>().As <IFileStorageProvider>().SingleInstance();
                builder.RegisterType <MessageBoxProvider>().As <IMessageBoxProvider>().SingleInstance();
                builder.RegisterType <SettingsProvider>().As <ISettingsProvider>().SingleInstance();
                builder.RegisterType <UriLauncherAdapter>().As <IUriLauncherAdapter>().SingleInstance();
                builder.RegisterType <VersionProvider>().As <IVersionProvider>().SingleInstance();
                builder.RegisterType <PickerAdapter>().As <IPickerAdapter>().SingleInstance();
                builder.RegisterType <ContextProvider>().As <IContextProvider>().SingleInstance();
                builder.RegisterType <PhotoPickerAdapter>().As <IPhotoPickerAdapter>().SingleInstance();
                builder.RegisterType <PhoneCallAdapter>().As <IPhoneCallAdapter>().SingleInstance();
                builder.RegisterType <DataCache>().As <IDataCache>().SingleInstance();

                builder.RegisterInstance(manager).As <INavigationManager <PageIndex> >();
                builder.RegisterInstance(dialogManager).As <ICustomDialogsManager <DialogIndex> >();
            });

            DialogStyles.PasswordDialogStyle = new PasswordInputDialogStyle();

            ViewModelLocator.MainViewModel.Initialize();
        }
コード例 #2
0
        private void InitalizeDialogs()
        {
            var dialogDefinitions = new Dictionary <DialogIndex, ICustomDialogProvider>
            {
                { DialogIndex.TestDialogA, new StoryboardOneshotCustomDialogProvider <TestDialogAViewController>() },
                { DialogIndex.TestDialogB, new StoryboardOneshotCustomDialogProvider <TestDialogBViewController>() },
            };

            var dialogManager = new CustomDialogsManager <DialogIndex>(
                this,
                dialogDefinitions,
                new ViewModelResolver());

            AppDelegate.Instance.DialogsManager = dialogManager;
        }