在我的MainPage
构造函数中,我NavigationService
用来导航到另一个页面,但出现错误:
你调用的对象是空的
有谁知道为什么我无法从我的构造函数导航?
public MainPage()
{
InitializeComponent();
NavigationService.Navigate(new Uri("/test.xaml", UriKind.Relative));
}
在我的MainPage
构造函数中,我NavigationService
用来导航到另一个页面,但出现错误:
你调用的对象是空的
有谁知道为什么我无法从我的构造函数导航?
public MainPage()
{
InitializeComponent();
NavigationService.Navigate(new Uri("/test.xaml", UriKind.Relative));
}
您要导航到的页面尚未在 c'tor 中创建。“加载”在对象全部创建后触发,并且是执行导航到另一个页面等操作的正确位置。
派对有点晚了,但根据 MSDN 所说的(以及上面@JustinAngel 的评论中提到的),您应该实际使用该OnNavigatedTo
事件,而不是Loaded
. 虽然Loaded
还在工作,
通常,您使用 OnNavigatedTo 方法而不是为 Loaded 事件创建事件处理程序。OnNavigatedTo 方法更可取,因为每次页面变为活动状态时它只调用一次。每次将元素添加到可视化树时,Silverlight 框架都会引发 Loaded 事件,这在激活页面时可能会发生不止一次。