OnNavigatedTo不会被触发?

时间:2012-03-29 18:56:41

标签: silverlight

我想在显示页面时进行一些检查。检查代码是用OnNavigatedTo()函数编写的。但是,我发现如果我通过Hyperlink导航到某个页面,则会执行OnNavigatedTo(),但如果我在按钮的单击事件中编写此代码,则OnNavigatedTo()将不会执行。

this.Content = new SOMEPAGE();

你能告诉我如何在每次显示页面时确保我的支票代码运行吗?我可以使用任何更好的导航方法而不是“this.Content”来执行OnNavigatedTo()吗? 感谢。

2 个答案:

答案 0 :(得分:0)

以下是另一种导航到另一个页面的方法,可以在点击事件中启动:

            Frame frame = Application.Current.RootVisual.GetDescendant<Frame>();
        frame.Navigate(new Uri(url, UriKind.Relative));

答案 1 :(得分:0)

如果您正在使用导航框架中加载的页面后面的代码,则可以使用Page基类(您的页面默认继承)的NavigationService属性。

NavigationService.Navigate(new Uri("SomePage.xaml", UriKind.Relative));

如果您正在使用MainPage后面的代码,则可以直接访问导航框架(默认情况下在xaml中命名为ContentFrame)。

ContentFrame.Navigate(new Uri("SomePage.xaml", UriKind.Relative));