繁体   English   中英

如何使用WPF将消息从主窗口传递到其页面?

[英]How do I pass messages from my main Window to its Pages using WPF?

我有一个使用WPF的C#应用​​程序,该应用程序由单个窗口组成,该单个窗口在一个网格的框架内包含四个页面。 主窗口通过套接字接收消息。 我试图将这些消息发送到适当的页面进行处理,但是不确定1)如何正确引用它,以及2)如何将消息传递到页面或调用页面的功能之一来处理消息。 如果相关,则窗口,网格,框架和页面以xaml构造。

在我编写的类似Windows窗体应用程序中,我使用委托进行回调。 主窗口将收到一条消息,然后调用表单的委托-看起来像这样:

Invoke(myFormInstance.myFormDelegateFunction, myMessage);

将myFormInstance.MdiParent设置为此窗口的位置。

我基本上是想找到与WPF等效的方法,或者也许是一种更好的方法。 我已经研究了WPF调度程序,我认为这可能是直接访问Page组件的一种方法-但我希望Page本身处理消息并确定更新哪些组件以及如何进行更新。

有什么建议吗? 调度员是否可以通过某种方式解决这个问题?

谢谢。

我会尝试使用MVVM Light Toolkit,特别是Messenger对象。 它允许类之间的通信。 本质上,发件人只会将包含与该消息相关的任何数据的消息通知给该消息,然后为该特定消息注册的任何类都可以按其选择的方式处理该消息。 因此,套接字消息的主要接收者可以通知它已收到套接字消息,然后将套接字消息作为数据附加。

http://mvvmlight.codeplex.com/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM