我有一个用MVVPCross编写的Windows UWP应用程序。当用户单击Toast Notifcation消息时,将调用应用程序OnActivated。
protected override void OnActivated(IActivatedEventArgs e)
{
// Handle toast activation
if (e is ToastNotificationActivatedEventArgs)
{
var toastActivationArgs = e as ToastNotificationActivatedEventArgs;
}
}
当我得到这个事件时,它想:
我正在寻找如何通过mvvmcross框架强制导航的指导。我知道如何从一个视图模型导航到另一个视图模型,但在这种情况下,我不在视图或视图模型的上下文中 - 我在Windows.UI.Xaml.Application的上下文中对象
感谢, 迈克尔
答案 0 :(得分:1)
我认为你唯一需要的是当前帧的实例
if (args.Kind == ActivationKind.ToastNotification)
{
try
{
if (args.PreviousExecutionState == ApplicationExecutionState.Running)
{
var fr = Window.Current.Content as Frame;
var toastActivationArgs = args as ToastNotificationActivatedEventArgs;
fr.Navigate(typeof(MainPage), toastActivationArgs);
}
}
catch { }
}
在MainPage OnNavigatedTo操作中,您可以获取导航参数并执行任何操作。
答案 1 :(得分:1)
我对MVVMCross
没有太多经验,但快速谷歌搜索让我加快了速度。事情就是这样:
Frame rootFrame = Window.Current.Content as Frame;
应该让你完成。有关详细信息,请参阅文档here。在网站上快速搜索“当前”,您将找到代码