Silverlight:如何导航到类库中的页面

时间:2010-07-11 04:33:34

标签: silverlight

我有一堆可重用的页面,我想放入一个类库中。所以我编辑了我的MainPage.xml('Moe.Tactical.Generic.Silverlight'是类库的名称)

<uriMapper:UriMapper>
  <uriMapper:UriMapping Uri="/Views/{path}" MappedUri="/Moe.Tactical.Generic.Silverlight;component/Views/{path}" />
  <uriMapper:UriMapping Uri="/{pageName}" MappedUri="/Views/{pageName}.xaml"/>
</uriMapper:UriMapper>

然后我在代码中分配了url,但是我收到了错误:找不到页面:“/ Mom.Tactical.Generic.Silverlight ;component/Views/GenericView?page=Maintanance”

我通过

分配Uri
return new Uri(@"/" + pageType + "?page=" + page.Name, UriKind.Relative);

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

抱歉 - 我的第一个回答不适用。在您的情况下,您的映射如下所示:

  <uriMapper:UriMapping Uri="/Views/{path}" MappedUri="/Moe.Tactical.Generic.Silverlight;component/Views/{path}" />

您尝试导航的Uri与此模式不匹配。你最终会遇到类似:“/ MyPageType?page = SomeName”,它与“/ Views / {path}”不匹配。要使你的Uri与模式匹配,请考虑以下内容:

return new Uri(@"/Views/" + pageType + ".xaml?page=" + page.Name, UriKind.Relative); 

请注意Uri中额外的“Views /”和“.xaml”与您在问题中的示例相比。