2009-12-01 50 views
0

在Silverlight 3.0应用程序中,有一个外壳页面用作许多子控件和其他Silverlight页面的导航片。 Silverlight页面通过Frame对象()包含在shell页面中。页面通过代码隐藏文件动态旋转,因此在xaml中没有直接引用它们。回调/ noftify事件父页面的最佳方式是什么?

这些动态包含的页面如何回调到shell页面?我们目前正在使用事件从包含的用户控件进行通信,但这些是我们可以在xaml中订阅的已知事件...因此,如果提出事件,请包含具体示例。

TIA。

回答

0

如果要创建从每个子控件父页面,您可能可以使用代理来完成此操作。很普通的例子:

public delegate void FunctionDelegate(string ChildControlName); 

在父容器类:

​​

在父容器构造:

 EventFunc = DoSomeAction; 

通行证EventFunc到子对象,并调用适当的时候。

0

我会推荐使用模式和实践团队开发的棱镜。

棱镜(通过EventAggregator)允许您将来自任何源的通知推送给您指定事件的侦听器。这很酷。

这是一个关于通过棱镜视图之间传输视频: http://channel9.msdn.com/posts/akMSFT/Creating-a-modular-application-using-Prism-v2-Screencast-44--Decoupled-Communication/

相关问题