【问题标题】:OnNavigatedTo won't be triggered?OnNavigatedTo 不会被触发?
【发布时间】:2012-03-29 18:56:41
【问题描述】:

我想检查一下页面何时显示。检查代码写在 OnNavigatedTo() 函数中。但是,我发现如果我通过超链接导航到页面,会执行 OnNavigatedTo(),但如果我在按钮的单击事件中编写此代码,则不会执行 OnNavigatedTo()。

this.Content = new SOMEPAGE();

您能告诉我如何确保每次显示页面时我的检查代码都会运行吗?我可以使用任何更好的导航方法来代替“this.Content”来执行 OnNavigatedTo() 吗? 谢谢。

【问题讨论】:

    标签: silverlight


    【解决方案1】:

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

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

    【讨论】:

    • Err.. 我不想将整个页面导航到另一个页面...我只需要将框架内的页面导航到另一个页面...
    • 这里我只是给出了另一种框架导航的方法。因为当您没有 ContentFrame 对象时,仅此而已。
    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      相关资源
      最近更新 更多