我的工作是由以下幾個部分的應用的領域:視圖模型到視圖模型通信
- 資源管理器 - 包含一個TreeView
- PropertyInspector - 包含PropertyGrid的
- 編輯器 - 包含一個資源管理器和一個PropertyInspector
正如您所看到的,這些零件是以分層方式組織的。我的問題是: 如何使資源管理器使用的樹視圖中的選定項目屬性檢查器使用的屬性網格的選定對象?
當樹視圖引發SelectedItemChanged事件時,會將命令發送到ExplorerViewModel。 PropertyGrids SelectedObject綁定到PropertyInspectorViewModel上的一個屬性。我如何連接兩個視圖模型?一種方法是讓EditorViewModel將PropertyInspectorViewModel上的方法附加到ExplorerViewModel在接收到命令時引發的事件,但是這種方式還是可以通過數據綁定以某種方式解決?
編輯器不直接使用樹視圖和屬性網格的原因是因爲資源管理器和屬性檢查器連同所有的撤銷/重做功能,驗證代碼等都是要在其他區域重用的原因。
搜索RelayCommand實現, 比您在執行命令的發佈商一個虛擬機,並在訂閱者執行它。 我稍後會發佈一個真正的實現。僅供參考,您的粗獷邏輯毫無興趣嘗試從技術角度解決問題 – 2013-04-08 19:43:49