2012-06-14 60 views
0

我有一個使用WPF的C#應用​​程序,它由一個單獨的窗口組成,它包含了網格中框架內的四個頁面。主窗口通過套接字接收消息。我試圖將這些消息發送到相應的頁面進行處理,但不確定1)如何正確引用它以及2)如何將消息傳遞給頁面或調用頁面的某個函數來處理消息。窗口,網格,框架和頁面在xaml中構建,以防相關。如何使用WPF將消息從我的主窗口傳遞到其頁面?

在我寫的一個類似的Windows窗體應用程序中,我使用代表進行回調。主窗口會收到一條消息,然後調用一個窗體的委託 - 這看起來是這樣的:

Invoke(myFormInstance.myFormDelegateFunction, myMessage); 

凡myFormInstance.MdiParent設置爲窗口。

我基本上試圖找到WPF等價物,或者更好的方法來做到這一點。我研究過WPF調度程序,我相信這可能是一種直接訪問Page組件的方式 - 但我希望頁面本身可以處理消息並決定哪些組件更新以及如何更新。

有什麼建議嗎?調度員對此有何迴應?

謝謝。

回答

3

我會嘗試使用MVVM Light Toolkit,特別是Messenger對象。它允許在類之間進行通信。本質上,發件人只會通知與消息相關的任何數據的消息,然後爲該特定消息註冊的任何類都可以按照它的選擇來處理它。因此,套接字消息的主要接收者可以通知它已收到套接字消息,然後將套接字消息作爲數據附加。

http://mvvmlight.codeplex.com/

+0

我聽說過這個,但只是簡單地看了一下。看起來其他人都認爲這是一條好路。謝謝喬希! – justJ

相關問題