我正在构建基于Silverlight导航应用程序模板的Silverlight 3.0应用程序。我遇到的一个障碍是在Pages之间进行通信。例如,我在一个页面中,我想启动另一个页面并向其发送一些数据。我不知道如何做到这一点。
有什么想法吗?
答案 0 :(得分:1)
Jesse Liberty对此非常了解blog post。我在多页Silverlight应用程序中使用自己描述的技术。
我不确定您是否可以将其应用于Silverlight导航应用程序模板。
答案 1 :(得分:1)
您有2个选项
使用请求参数,基本上当您导航到新视图时,将其称为
NavigationService.Navigate(new Uri(“/ HomePage.xaml?HomePageId = 12”,UriKind.Relative));
你可以在那里打一些string.format来使它更整洁,但你明白了,然后在新的View上,在页面加载时使用string queryParam = HtmlPage.Document.QueryString["HomePageId"];
来获取你想要显示的信息的Id。
应该这样做。
答案 2 :(得分:1)
我找到了一个不涉及太多复杂性的有效解决方案。我正在使用LocalMessageSender和LocalMessageReceiver个对象。这些对象的最初目的是在同一个网页上有2个silverlight应用程序与每个应用程序进行对话,但是它们在2个视图相互通信方面同样出色。
用法非常简单。有关用法,请参阅此example。