public StartStorage(StorageCoordinator storageCoordinator, ISessionEvents componentActivator) { _storageCoordinator = storageCoordinator; componentActivator.Navigating += ComponentActivatorOnNavigating; componentActivator.RootViewModelDisposed += ComponentActivatorOnRootViewModelDisposed; componentActivator.NewSession += ComponentActivatorOnNewSession; }
protected override void Configure() { LogManager.GetLog = _ => new DebugLog(); this.container = new NinjectPhoneContainer( this.RootFrame, new WindowsPhoneNinjectModule(), new DemoServicesModule(), new StorageHandlersModule(), new ViewModelsModule()); StorageCoordinator coordinator = this.container.GetInstance <StorageCoordinator>(); coordinator.Start(); TaskController taskController = this.container.GetInstance <TaskController>(); taskController.Start(); AddCustomConventions(); }
protected override void Configure() { _builder.RegisterType<EventAggregator>().As<IEventAggregator>().SingleInstance(); _builder.Register(x => _frameAdapter).As<INavigationService>().SingleInstance(); _builder.Register(x => Container).As<IContainer>().SingleInstance(); _builder.RegisterType<SharingService>().As<ISharingService>().SingleInstance(); _builder.RegisterType<SettingsService>().As<ISettingsService>().SingleInstance(); _builder.RegisterAssemblyTypes(AssemblySource.Instance.Concat(new[] { typeof(IStorageMechanism).GetTypeInfo().Assembly }).ToArray()) .AssignableTo<IStorageMechanism>() .AsImplementedInterfaces(); _builder.RegisterType<StorageCoordinator>().AsSelf().SingleInstance(); RegisterViewModels(x => !string.IsNullOrEmpty(x.Namespace) && x.Namespace.Contains("ViewModels") && typeof(INotifyPropertyChanged).IsAssignableFrom(x)); _builder.RegisterAssemblyTypes(AssemblySource.Instance.ToArray()) .AssignableTo<IStorageHandler>() .AsSelf() .AsImplementedInterfaces() .SingleInstance(); HandleConfigure(_builder); Container = _builder.Build(); ViewModelLocator.LocateForView = LocateForView; _exportedTypeCache = AssemblySource.Instance.SelectMany(a => a.GetExportedTypes()).Where(x => x.IsAssignableTo<FrameworkElement>()).ToArray(); ViewLocator.LocateTypeForModelType = (modelType, displayLocation, context) => { var viewTypeName = modelType.FullName; if (Execute.InDesignMode) { viewTypeName = ViewLocator.ModifyModelTypeAtDesignTime(viewTypeName); } viewTypeName = viewTypeName.Substring( 0, viewTypeName.IndexOf('`') < 0 ? viewTypeName.Length : viewTypeName.IndexOf('`') ); var viewTypeList = ViewLocator.TransformName(viewTypeName, context); var viewType = viewTypeList.Join(_exportedTypeCache, n => n, t => t.FullName, (n, t) => t).FirstOrDefault(); if (viewType == null) Debug.WriteLine("View not found. Searched: {0}.", string.Join(", ", viewTypeList.ToArray())); return viewType; }; SharingService = Container.Resolve<ISharingService>(); _storageCoordinator = Container.Resolve<StorageCoordinator>(); _storageCoordinator.Start(); _rootFrame = CreateApplicationFrame(); }