您的导航对象为空,因为您正在尝试获取 WPF 窗口的 NavigationService。
但是对于导航,您需要一个页面(MSDN 上的导航概述)
一个小工作示例:
创建到Page的Page1.xaml、Page2.xaml
在 App.xaml 中更改
StartupUri
为StartupUri="Page1.xaml"
第 1 页 Xaml:
<StackPanel>
<TextBlock Text="Hello from Page1" />
<Button Click="Button_Click" Content="Navigate to page 2"></Button>
</StackPanel>
第 1 页 CS:
private void Button_Click(object sender, RoutedEventArgs e)
{
NavigationService nav = NavigationService.GetNavigationService(this);
nav.Navigate(new Uri("Page2.xaml", UriKind.RelativeOrAbsolute));
}
第2页Xaml:
<StackPanel>
<TextBlock Text="Hello from Page2" />
<Button Click="Button_Click" Content="Navigate to page 1"></Button>
</StackPanel>
第2页cs:
private void Button_Click(object sender, RoutedEventArgs e)
{
NavigationService nav = NavigationService.GetNavigationService(this);
nav.Navigate(new Uri("Page1.xaml", UriKind.RelativeOrAbsolute));
}