public PhoneNavigationService( PhoneApplicationFrame frame, IPageDefinitionRegistry pageDefinitions, IViewModelFactory viewModelFactory, IScheduler dispatcherScheduler) { if (frame == null) { throw new ArgumentNullException("frame"); } if (pageDefinitions == null) { throw new ArgumentNullException("pageDefinitions"); } if (viewModelFactory == null) { throw new ArgumentNullException("viewModelFactory"); } if (dispatcherScheduler == null) { throw new ArgumentNullException("dispatcherScheduler"); } _frame = frame; _pageDefinitions = pageDefinitions; _viewModelFactory = viewModelFactory; _dispatcherScheduler = dispatcherScheduler; _navigatingSubject = new Subject <INavigationRequest>(); _navigatedSubject = new Subject <INavigationRequest>(); _semaphore = new SemaphoreSlim(1); History = _history = new NavigationHistory(RemoveHistoryEntry, ClearHistory); _frame.Navigated += _frame_Navigated; _frame.BackKeyPress += _frame_BackKeyPress; }
public NavigationService( Frame frame, IPageDefinitionRegistry pageDefinitions, IViewModelFactory viewModelFactory, IScheduler dispatcherScheduler, IScheduler backgroundScheduler) { if (frame == null) throw new ArgumentNullException("frame"); if (pageDefinitions == null) throw new ArgumentNullException("pageDefinitions"); if (viewModelFactory == null) throw new ArgumentNullException("viewModelFactory"); if (dispatcherScheduler == null) throw new ArgumentNullException("dispatcherScheduler"); if (backgroundScheduler == null) throw new ArgumentNullException("backgroundScheduler"); _frame = frame; _pageDefinitions = pageDefinitions; _viewModelFactory = viewModelFactory; _dispatcherScheduler = dispatcherScheduler; _backgroundScheduler = backgroundScheduler; _navigatingSubject = new Subject<INavigationRequest>(); _navigatedSubject = new Subject<INavigationRequest>(); _semaphore = new SemaphoreSlim(1); History = _history = new NavigationHistory(RemoveHistoryEntry, ClearHistory); _frame.Navigated += _frame_Navigated; //_frame.BackKeyPress += _frame_BackKeyPress; }
private IPageDefinitionRegistry RegisterPages(IPageDefinitionRegistry registry) { return(registry.RegisterViewModel <MainViewModel, MainPage>(ApplicationPages.Main) .RegisterViewModel <SecondViewModel, SecondPage>(ApplicationPages.Second) .RegisterViewModel <ThirdViewModel, ThirdPage>(ApplicationPages.Third) .RegisterViewModel <TestCachePageViewModel, TestCachePage>(ApplicationPages.TestCache) #if WINDOWS_APP .RegisterViewModel <TestSearchViewModel, TestSearch>(ApplicationPages.TestSearch) #endif ); }
public static IPageDefinitionRegistry RegisterViewModel <TViewModel, TView>(this IPageDefinitionRegistry viewViewModelBuilder, string name) where TViewModel : IViewModel { return(viewViewModelBuilder.RegisterPageDefinition( new PageDefinition( name, typeof(TViewModel), typeof(TView), null ) )); }
public CreateCommandsAndOvvmViewModelFactory(IViewModelFactory innerViewModelFactory, IPageDefinitionRegistry pageDefinitionRegistry) { if (innerViewModelFactory == null) throw new ArgumentNullException("innerViewModelFactory"); if (pageDefinitionRegistry == null) throw new ArgumentNullException("pageDefinitionRegistry"); _innerViewModelFactory = innerViewModelFactory; _pageDefinitionRegistry = pageDefinitionRegistry; foreach (var pageDefinition in _pageDefinitionRegistry.PageDefinitions) { FindGetters(pageDefinition.ViewModelType); } }
public CreateCommandsAndOvvmViewModelFactory(IViewModelFactory innerViewModelFactory, IPageDefinitionRegistry pageDefinitionRegistry) { if (innerViewModelFactory == null) { throw new ArgumentNullException("innerViewModelFactory"); } if (pageDefinitionRegistry == null) { throw new ArgumentNullException("pageDefinitionRegistry"); } _innerViewModelFactory = innerViewModelFactory; _pageDefinitionRegistry = pageDefinitionRegistry; foreach (var pageDefinition in _pageDefinitionRegistry.PageDefinitions) { FindGetters(pageDefinition.ViewModelType); } }
private IPageDefinitionRegistry RegisterPages(IPageDefinitionRegistry registry) { return(registry.RegisterViewModel <MainViewModel, MainPage>(ApplicationPages.Main, new Uri("/TestWindowsPhone;component/MainPage.xaml", UriKind.Relative)) .RegisterViewModel <SecondViewModel, SecondPage>(ApplicationPages.Second, new Uri("/TestWindowsPhone;component/SecondPage.xaml", UriKind.Relative)) .RegisterViewModel <ThirdViewModel, ThridPage>(ApplicationPages.Third, new Uri("/TestWindowsPhone;component/ThridPage.xaml", UriKind.Relative))); }
private IPageDefinitionRegistry RegisterPages(IPageDefinitionRegistry registry) { return registry.RegisterViewModel<MainViewModel, MainPage>(ApplicationPages.Main) .RegisterViewModel<SecondViewModel, SecondPage>(ApplicationPages.Second) .RegisterViewModel<ThirdViewModel, ThirdPage>(ApplicationPages.Third) .RegisterViewModel<TestCachePageViewModel, TestCachePage>(ApplicationPages.TestCache) #if WINDOWS_APP .RegisterViewModel<TestSearchViewModel, TestSearch>(ApplicationPages.TestSearch) #endif ; }
private IPageDefinitionRegistry RegisterPages(IPageDefinitionRegistry registry) { return registry.RegisterViewModel<MainViewModel, MainPage>(ApplicationPages.Main, new Uri("/TestWindowsPhone;component/MainPage.xaml", UriKind.Relative)) .RegisterViewModel<SecondViewModel, SecondPage>(ApplicationPages.Second, new Uri("/TestWindowsPhone;component/SecondPage.xaml", UriKind.Relative)) .RegisterViewModel<ThirdViewModel, ThridPage>(ApplicationPages.Third, new Uri("/TestWindowsPhone;component/ThridPage.xaml", UriKind.Relative)); }