none
Frame的页面导航问题 RRS feed

  • 问题

  • 关于silverlight 页面导航中存在几个小问题,请教各位高手。。假定使用 frame.Navigate("页面.xmal");打开页面。目前存在几个疑问

    1.只知道类(Type)能否知道xaml的相对路径?有没有其他方法可以通过类得到路径?

    2.如果xaml文件在另一个dll中,路径如何表示。

    3.如果IE点击前进或后退出错时,如何捕获错误。

    谢谢。

    2012年2月9日 13:38

答案

全部回复

  • 你好,

    1.  你可以在页面的OnNavigatedTo方法里获得

               protected override void OnNavigatedTo(NavigationEventArgs e)
            {
                var uri = e.Uri;
            }

    2. 你可以这样来引用:ContentFrame.Navigate(new Uri("/程序集名;component/页面路径", UriKind.Relative));

        或者ContentFrame.Navigate(new Uri("/页面路径", UriKind.Relative)); 但前提是你要在xaml中为Fram添加如下类似的UriMapping

        <uriMapper:UriMapping Uri="/页面路径" MappedUri="/程序集名;component/页面路径" />

       更多信息请参考以下连接:

       http://www.davidpoll.com/2009/07/12/silverlight-3-navigation-navigating-to-pages-in-referenced-assemblies/

    3. 你可以为Frame添加 NavigationFailed 事件处理程序,来处理相应的错误。


    Daoping Liu - MSFT




    2012年2月13日 6:55
    版主
  • 3q,但第一种方式。必须我要实体化类之后才得知道uri。不能在实体化前知道,然后通过 fram打开页面。请问如何解决知道类名,但是不知道路径的情况之下,通过 fram打开页面
    2012年2月18日 3:38