private async void AddView(IViewModel viewModel) { await detailNavigationPage.PushAsync(ShellViewPage.Create(viewFactory.GetView(viewModel))); Detail = detailNavigationPage; IsReady = true; }
private static void OnHasNavigationBarChanged(BindableObject bindableObject, object oldValue, object newValue) { ShellViewPage shellViewPage = (ShellViewPage)bindableObject; bool newHasNavigationBar = (bool)newValue; NavigationPage.SetHasNavigationBar(shellViewPage, newHasNavigationBar); }
public static Page Create(object content) { Page page = null; if (content is Page) { page = content as Page; } else { View view = content as View; page = new ShellViewPage() { Content = view }; page.BindingContext = view.BindingContext; } if (page != null) { page.SetBinding(TitleProperty, new Binding("Title")); page.SetBinding(IconProperty, new Binding("Icon")); } return(page); }
public static void MasterViewModelPropertyChanged(BindableObject bindableObject, object oldValue, object newValue) { MasterDetailShellPage masterDetailShellPage = (MasterDetailShellPage)bindableObject; IViewModel newViewModel = (IViewModel)newValue; if (newViewModel != null) { masterDetailShellPage.Master = ShellViewPage.Create(masterDetailShellPage.viewFactory.GetView(newViewModel)); } }
private static void OnShellToolbarItemsChanged(BindableObject bindableObject, object oldValue, object newValue) { ShellViewPage shellViewPage = (ShellViewPage)bindableObject; IEnumerable <ToolbarItemViewModel> oldToolbarItems = (IEnumerable <ToolbarItemViewModel>)oldValue; IEnumerable <ToolbarItemViewModel> newToolbarItems = (IEnumerable <ToolbarItemViewModel>)newValue; if (oldToolbarItems is ObservableCollection <ToolbarItemViewModel> ) { (oldToolbarItems as ObservableCollection <ToolbarItemViewModel>).CollectionChanged -= shellViewPage.ShellToolbarItems_CollectionChanged; } if (newToolbarItems != null) { foreach (ToolbarItemViewModel item in newToolbarItems) { shellViewPage.AddToolbarItem(item); } if (newToolbarItems is ObservableCollection <ToolbarItemViewModel> ) { (newToolbarItems as ObservableCollection <ToolbarItemViewModel>).CollectionChanged += shellViewPage.ShellToolbarItems_CollectionChanged; } } }
private async void AddView(IViewModel viewModel) { await PushAsync(ShellViewPage.Create(viewFactory.GetView(viewModel))); IsReady = true; }