我有一堆可重用的页面,我想放入一个类库中。所以我编辑了我的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”
我通过
分配Urireturn new Uri(@"/" + pageType + "?page=" + page.Name, UriKind.Relative);
我错过了什么吗?
答案 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”与您在问题中的示例相比。