0

我正在使用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。如何处理这个,并导航到一个页面,谢谢。

4

1 回答 1

1

导航到 ShellPage.xaml.cs 中的页面导致异常

该问题NetworkChanged在非uithread中调用,但Navigate方法需要uithread环境。所以请调用DispatcherNetworkChanged 事件处理程序。

private async void Instance_NetworkChanged(object sender, EventArgs e)
{
 await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
  {
    shellFrame.Navigate(typeof(page));
  });
}
于 2019-10-12T09:03:23.917 回答