protected override void Configure() { _container = new PhoneContainer(); _container.RegisterPhoneServices(RootFrame); _container.Instance(RootFrame); _container.Singleton <ICache, FileSystemCache>(); // View Models _container.Singleton <SplashViewModel>(); _container.Singleton <AboutViewModel>(); _container.Singleton <ShellViewModel>(); _container.Singleton <MyBoardsViewModel>(); _container.Singleton <MyCardsViewModel>(); _container.Singleton <MyNotificationsViewModel>(); _container.Singleton <ProfileViewModel>(); _container.PerRequest <BoardViewModel>(); _container.PerRequest <BoardListViewModel>(); _container.PerRequest <CardViewModel>(); _container.PerRequest <CardDetailPivotViewModel>(); _container.PerRequest <CardDetailOverviewViewModel>(); _container.PerRequest <CardDetailChecklistViewModel>(); _container.PerRequest <CardDetailAttachmentsViewModel>(); _container.PerRequest <CardDetailMembersViewModel>(); _container.PerRequest <ChecklistViewModel>(); _container.PerRequest <ChecklistItemViewModel>(); _container.PerRequest <AttachmentViewModel>(); _container.AllTransientTypesOf <NotificationViewModel>(); // Event handlers _container.AllSingletonTypesOf <AbstractHandler>(); // Services _container.PerRequest <Services.IApplicationBar, DefaultApplicationBar>(); _container.Singleton <INetworkService, NetworkService>(); _container.Singleton <IProgressService, ProgressService>(); _container.Singleton <ITrelloApiSettings, TrelloSettings>(); #if DISCONNECTED _container.Singleton <IRequestClient, JsonFileRestClient>(); #else _container.Singleton <IRequestClient, TrelloRestClient>(); #endif var network = _container.Get <INetworkService>(); var client = AugmentClient(_container); var trello = new Trello(network, client); _container.Instance <ITrello>(trello); PhoneToolkitConventions.Install(); TelerikConventions.Install(); // Force creation _container.InstantiateInstancesOf <AbstractHandler>(); }