Как установить связь между представлениями в приложении Silverlight 3.0? - PullRequest
1 голос
/ 17 декабря 2009

Я создаю приложение Silverlight 3.0 на основе шаблона приложения Silverlight Navigation. Один дорожный блок, с которым я столкнулся, связывает страницы. Например, я на одной странице и хочу открыть другую страницу и отправить ей некоторые данные. Я в растерянности относительно того, как это сделать.

Есть идеи?

Ответы [ 3 ]

1 голос
/ 17 декабря 2009

У вас есть 2 варианта

  1. Используйте шаблон публикации / подписки, я не использовал его раньше, но в некоторых случаях это полезно, но я не думаю, что это решит вашу проблему.
  2. Используйте параметры запроса, в основном, когда вы переходите к новому представлению, вызывайте его так:

    NavigationService.Navigate (новый Uri ("/ HomePage.xaml? HomePageId = 12", UriKind.Relative));

Вы можете добавить туда строковый формат, чтобы сделать его более аккуратным, но вы поняли идею, а затем в новом представлении используйте string queryParam = HtmlPage.Document.QueryString["HomePageId"]; при загрузке страницы, чтобы получить идентификатор информации, которую вы хотите отобразить. *

Это должно сделать это.

1 голос
/ 25 декабря 2009

Я нашел эффективное решение, которое не требует слишком больших сложностей. Я использую объекты LocalMessageSender и LocalMessageReceiver . Первоначальная цель этих объектов состоит в том, чтобы два приложения Silverlight на одной веб-странице общались друг с другом, но так же хорошо, когда два представления взаимодействуют друг с другом.

Использование действительно простое. См. пример для использования.

1 голос
/ 17 декабря 2009

Джесси Либерти имеет отличный пост в блоге только об этом. Я сам использую описанные там приемы в многостраничном приложении Silverlight.

Я не уверен, однако, можете ли вы применить это с помощью шаблона приложения навигации Silverlight.

...