Silverlight: как перейти на страницу в библиотеке классов - PullRequest
1 голос
/ 11 июля 2010

У меня есть куча многократно используемых страниц, которые я хочу поместить в библиотеку классов. Поэтому я отредактировал свой файл 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 в коде, но получаю ошибку: Страница не найдена: "/Moe.Tactical.Generic.Silverlight;component/Views/GenericView?page=Maintanance"

Я назначаю Uri через

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

я что-то пропустил?

1 Ответ

1 голос
/ 13 июля 2010

Извините - мой первый ответ не применим.В вашем случае ваше отображение выглядит так:

  <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); 

Обратите внимание на дополнительные «Views /» и «.xaml» в Uri по сравнению с примером, который вы имеете в своем вопросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...