UWP:在没有输入的情况下有条件地从 OnNaviagted 导航到另一个页面
UWP: Conditionally Navigating from OnNaviagted to another page without input
当应用程序运行时,我想检查一个条件来确定页面导航到的位置。没有来自用户的任何输入,因此没有对象发送者。我怎样才能做到这一点?
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
var Albums = await App.DataModel.GetAlbum();
if (Albums != null)
{
Frame.Navigate(typeof(ViewModel.AlbumView));
}
else
{
Frame.Navigate(typeof(ViewModel.AddAlbumView));
}
}
在 App.Xaml.cs OnAppLaunchedEvent
中有一行
rootframe.Navigate(typeof(MainPage));
用你的条件替换这个
var Albums = await App.DataModel.GetAlbum();
if (Albums != null)
{
Frame.Navigate(typeof(ViewModel.AlbumView));
}
else
{
Frame.Navigate(typeof(ViewModel.AddAlbumView));
}
并且不要忘记将您的相册和视图模型引入应用程序。
作为一个好的做法,使 viewModel 静态并将其引用到
其他需要它的页面。这确保你正在关注 SingleTon
模式并且您不会同时拥有您的 Viewmodel 的多个副本。
当应用程序运行时,我想检查一个条件来确定页面导航到的位置。没有来自用户的任何输入,因此没有对象发送者。我怎样才能做到这一点?
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
var Albums = await App.DataModel.GetAlbum();
if (Albums != null)
{
Frame.Navigate(typeof(ViewModel.AlbumView));
}
else
{
Frame.Navigate(typeof(ViewModel.AddAlbumView));
}
}
在 App.Xaml.cs OnAppLaunchedEvent
中有一行rootframe.Navigate(typeof(MainPage));
用你的条件替换这个
var Albums = await App.DataModel.GetAlbum();
if (Albums != null)
{
Frame.Navigate(typeof(ViewModel.AlbumView));
}
else
{
Frame.Navigate(typeof(ViewModel.AddAlbumView));
}
并且不要忘记将您的相册和视图模型引入应用程序。 作为一个好的做法,使 viewModel 静态并将其引用到 其他需要它的页面。这确保你正在关注 SingleTon 模式并且您不会同时拥有您的 Viewmodel 的多个副本。