0

我有一个使用 WPF 的 C# 应用程序,该应用程序由一个窗口组成,该窗口在网格内的框架内保存四个页面。主窗口通过套接字接收消息。我正在尝试将这些消息发送到适当的页面进行处理,但不确定 1)如何正确引用它和 2)如何将消息传递给页面或调用页面的函数之一来处理消息。窗口、网格、框架和页面在 xaml 中构建,以防万一。

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

Invoke(myFormInstance.myFormDelegateFunction, myMessage);

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

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

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

谢谢。

4

1 回答 1

3

我会尝试使用 MVVM Light Toolkit,特别是 Messenger 对象。它允许类之间的通信。本质上,发送者只会通知带有与消息相关的任何数据的消息,然后为该特定消息注册的任何类都可以根据自己的选择处理它。所以你的套接字消息的主要接收者可以通知它已经收到一个套接字消息,然后将套接字消息作为数据附加。

http://mvvmlight.codeplex.com/

于 2012-06-14T20:44:36.893 回答