我对C#编程非常陌生,我的代码也有问题。我已经创建了一个按钮,并在它上应用了一个事件单击,它打开了我的项目的另一个页面,由技术NavigationService。
这是一个脚本:
private void click_login(object sender, RoutedEventArgs e)
{
NavigationService nav = NavigationService.GetNavigationService(this);
nav.Navigate(new Uri("Window1.xaml", UriKind.RelativeOrAbsolute));
}当我执行时,我会得到以下错误:
The object reference is not set to an instance of an object with an InnerException null.你能帮帮我吗?
发布于 2014-08-11 09:05:36
您的nav对象为null,因为您试图获取WPF窗口的NavigationService。
但是对于导航,您需要一个页面 (MSDN导航概述)
一个小小的工作例子:
创建到Page的Page1.xaml,Page2.xaml
在App.xaml中,将StartupUri更改为StartupUri="Page1.xaml"
Page1 Xaml:
<StackPanel>
<TextBlock Text="Hello from Page1" />
<Button Click="Button_Click" Content="Navigate to page 2"></Button>
</StackPanel>Page1 cs:
private void Button_Click(object sender, RoutedEventArgs e)
{
NavigationService nav = NavigationService.GetNavigationService(this);
nav.Navigate(new Uri("Page2.xaml", UriKind.RelativeOrAbsolute));
}Page2 Xaml:
<StackPanel>
<TextBlock Text="Hello from Page2" />
<Button Click="Button_Click" Content="Navigate to page 1"></Button>
</StackPanel>Page2 cs:
private void Button_Click(object sender, RoutedEventArgs e)
{
NavigationService nav = NavigationService.GetNavigationService(this);
nav.Navigate(new Uri("Page1.xaml", UriKind.RelativeOrAbsolute));
}https://stackoverflow.com/questions/25237710
复制相似问题