WinPhone页面Uri来自Type?

时间:2011-07-20 12:30:58

标签: silverlight windows-phone-7 xaml navigation

给定一个PhoneApplicationPage子类型,有没有办法(除了依赖惯例)找出它的内部uri?

换句话说,我想致电GetUri<MyPage>()并取回/Views/MyPage.xaml之类的内容。

3 个答案:

答案 0 :(得分:1)

没有办法做到这一点。没有元数据将XAML文件名与类型相关联。文件名本质上是运行时识别要加载的BAML的密钥,它来自该BAML它知道的类型。走向另一个方向将是非常困难的。

缺少读取BAML资源流并自己计算出映射(在Silverlight中无法轻易完成并且即使可能会破坏性能)我也看不到这样做的方法。

答案 1 :(得分:0)

是否可以做类似的事情:

C# Silverlight 3 - Programmatically Navigate Between Pages?

他在哪里定义导航映射。我今晚将在我的应用程序中尝试此操作,我目前只是根据其URI维护页面类型的静态字典;不幸的是,这都是手册。

答案 2 :(得分:0)

您必须使用字典或使用UriMapper将特定页面的Uri存储在自定义类上。也许UriMapper非常适合你所需要的。

以下是在Windows Phone http://www.windowsphonegeek.com/articles/All-about-UriMapping-in-WP7中使用它的方法。