public IMvxPagedViewModel GetPreviousViewModel(IMvxPagedViewModel currentViewModel) { if (currentViewModel is ThirdPageViewModel) return (_secondPageVM); else if (currentViewModel is SecondPageViewModel) return (_firstPageVM); return (null); }
public IMvxPagedViewModel GetNextViewModel(IMvxPagedViewModel currentViewModel) { if (currentViewModel is FirstPageViewModel) return (_secondPageVM); else if (currentViewModel is SecondPageViewModel) return (_thirdPageVM); return (null); }
public virtual UIViewController GetViewControllerForViewModel(IMvxPagedViewModel queryVM) { UIViewController retVal = null; if(_pagedViewControllerCache.ContainsKey(queryVM.PagedViewId)) retVal = _pagedViewControllerCache[queryVM.PagedViewId]; else { retVal = this.CreateViewControllerFor(queryVM) as UIViewController; _pagedViewControllerCache[queryVM.PagedViewId] = retVal; } return(retVal); }
public IMvxPagedViewModel GetNextViewModel(IMvxPagedViewModel currentViewModel) { int index = ViewModels.FindIndex((WeatherMainPageViewModel obj) => { return(obj.PagedViewId.Equals(currentViewModel.PagedViewId)); }); if (index < ViewModels.Count - 1) { return(ViewModels[index + 1]); } return(null); }
protected virtual void InitializePaging() { IMvxPageViewModel pageVM = ViewModel as IMvxPageViewModel; if (pageVM == null) { return; } IMvxPagedViewModel defaultVM = pageVM.GetDefaultViewModel(); UIViewController defaultVC = GetViewControllerForViewModel(defaultVM); SetViewControllers(new UIViewController[] { defaultVC }, UIPageViewControllerNavigationDirection.Forward, true, null); GetNextViewController = delegate(UIPageViewController pc, UIViewController rc) { IMvxTvosView rcTV = rc as IMvxTvosView; if (rcTV == null) { return(null); } IMvxPagedViewModel currentVM = rcTV.ViewModel as IMvxPagedViewModel; if (currentVM == null) { return(null); } IMvxPagedViewModel nextVM = pageVM.GetNextViewModel(currentVM); if (nextVM == null) { return(null); } UIViewController nextVC = GetViewControllerForViewModel(nextVM); return(nextVC); }; GetPreviousViewController = delegate(UIPageViewController pc, UIViewController rc) { IMvxTvosView rcTV = rc as IMvxTvosView; if (rcTV == null) { return(null); } IMvxPagedViewModel currentVM = rcTV.ViewModel as IMvxPagedViewModel; if (currentVM == null) { return(null); } IMvxPagedViewModel prevVM = pageVM.GetPreviousViewModel(currentVM); if (prevVM == null) { return(null); } UIViewController prevVC = GetViewControllerForViewModel(prevVM); return(prevVC); }; }
public IMvxPagedViewModel GetPreviousViewModel(IMvxPagedViewModel currentViewModel) { if (currentViewModel is ThirdPageViewModel) { return(_secondPageVM); } else if (currentViewModel is SecondPageViewModel) { return(_firstPageVM); } return(null); }
public IMvxPagedViewModel GetNextViewModel(IMvxPagedViewModel currentViewModel) { if (currentViewModel is FirstPageViewModel) { return(_secondPageVM); } else if (currentViewModel is SecondPageViewModel) { return(_thirdPageVM); } return(null); }
public virtual UIViewController GetViewControllerForViewModel(IMvxPagedViewModel queryVM) { UIViewController retVal = null; if (_pagedViewControllerCache.ContainsKey(queryVM.PagedViewId)) { retVal = _pagedViewControllerCache[queryVM.PagedViewId]; } else { retVal = this.CreateViewControllerFor(queryVM) as UIViewController; _pagedViewControllerCache[queryVM.PagedViewId] = retVal; } return(retVal); }
public IMvxPagedViewModel GetPreviousViewModel(IMvxPagedViewModel currentViewModel) { int index = ViewModels.FindIndex((WeatherMainPageViewModel obj) => { return(obj.PagedViewId.Equals(currentViewModel.PagedViewId)); }); if (index > 0) { return(ViewModels[index - 1]); } if (index == 0 && _currentLocationPageView != null) { return(_currentLocationPageView); } return(null); }
public virtual void NavigateToViewModel(IMvxPagedViewModel targetVM,UIPageViewControllerNavigationDirection direction, bool animated = true) { UIViewController targetVC = GetViewControllerForViewModel (targetVM); SetViewControllers (new UIViewController[] { targetVC }, direction, animated, null); }
public virtual void NavigateToViewModel(IMvxPagedViewModel targetVM, UIPageViewControllerNavigationDirection direction, bool animated = true) { UIViewController targetVC = GetViewControllerForViewModel(targetVM); SetViewControllers(new UIViewController[] { targetVC }, direction, animated, null); }
public IMvxPagedViewModel GetPreviousViewModel(IMvxPagedViewModel currentViewModel) { throw new NotImplementedException(); }