2010-04-16 45 views
1

我有一個wpf主窗口作爲包含狀態欄和帶有兩個選項卡項的選項卡控件的應用程序外殼。 我也有兩個用戶控件及其使用MVVM的View Model對象。 我將每個用戶控件放在應用程序外殼中的選項卡上。外殼StatusBar UserControl通信

我的問題是,我想讓用戶控件更新主外殼上的狀態欄。處理這個問題的最好方法是什麼?

謝謝

回答

0

我有同樣的問題。 我不知道到底什麼是最好的辦法,但這是我的猜測:

對我來說,應用程序類(我的意思是覆蓋它)是不對的地方放它,因爲它太中央。狀態是每個窗口(對話框)。然後,你可以把它放在窗口的模型中,但它是另一個不好的主意(我的意見),因爲你將不得不修改你的模型的東西非常虛擬(狀態)。 Personnaly,但我可能是錯的,我決定直接在父窗口中聲明一個方法。任何屬於該窗口任何組件的模型(如果有的話)都可以(最好在初始化時)嘗試找到該方法(反射)併爲其分配一個委託。無論何時你想更新狀態,你都會驗證你的委託是否爲空,如果不是,則調用它。委託可能是這樣的:SetStatus(字符串狀態)。這不是完美的,但它似乎尊重內聚力和低耦合...

希望它有幫助。 埃裏克

0

BXF(基本XAML框架)

http://bxf.codeplex.com/

從BXF資料頁面:

在其最簡單的形式,BXF充當從 的消息或請求路由器應用程序代碼給演示者處理程序。

的想法是,你的應用程序代碼,通常是您的視圖模型的代碼, 需要做一套基本的東西:

  1. 展會意見
  2. 列表項
  3. 顯示狀態信息