导航至 ShellPage.xaml.cs 中的页面导致异常
Navigate to page in ShellPage.xaml.cs caused exception
我正在使用 WindowsTemplateStudio,在 ShellPage.xaml.cs 中,我想检测用户是否更改了网络,应用程序导航到指定页面。
所以我用了
Microsoft.Toolkit.Uwp.Connectivity.NetworkHelper.Instance.NetworkChanged += Instance_NetworkChanged;
private async void Instance_NetworkChanged(object sender, EventArgs e)
{
//NavigationService.Navigate(page);
shellFrame.Navigate(typeof(page));
}
但这导致了System.Exception。
如何处理这个问题,并导航到一个页面,谢谢。
Navigate to page in ShellPage.xaml.cs caused exception
问题是NetworkChanged
在un-uithread中调用,但是Navigate
方法需要uithread环境。所以请在 NetworkChanged 事件处理程序中调用 Dispatcher
。
private async void Instance_NetworkChanged(object sender, EventArgs e)
{
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
shellFrame.Navigate(typeof(page));
});
}
我正在使用 WindowsTemplateStudio,在 ShellPage.xaml.cs 中,我想检测用户是否更改了网络,应用程序导航到指定页面。
所以我用了
Microsoft.Toolkit.Uwp.Connectivity.NetworkHelper.Instance.NetworkChanged += Instance_NetworkChanged;
private async void Instance_NetworkChanged(object sender, EventArgs e)
{
//NavigationService.Navigate(page);
shellFrame.Navigate(typeof(page));
}
但这导致了System.Exception。 如何处理这个问题,并导航到一个页面,谢谢。
Navigate to page in ShellPage.xaml.cs caused exception
问题是NetworkChanged
在un-uithread中调用,但是Navigate
方法需要uithread环境。所以请在 NetworkChanged 事件处理程序中调用 Dispatcher
。
private async void Instance_NetworkChanged(object sender, EventArgs e)
{
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
shellFrame.Navigate(typeof(page));
});
}