[英]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对象。 它允许类之间的通信。 本质上,发件人只会将包含与该消息相关的任何数据的消息通知给该消息,然后为该特定消息注册的任何类都可以按其选择的方式处理该消息。 因此,套接字消息的主要接收者可以通知它已收到套接字消息,然后将套接字消息作为数据附加。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.