我目前正在設計簡單的編輯器作爲學習過程的一部分。它基本上是多邊形 - 線 - 點的分層樹結構,它在數據模型中實現。我需要在兩種觀點wpf中的MVVM模式 - 一個數據模型,多個視圖模型
第一視圖中顯示這些數據:在樹視圖項分層數據 第二種觀點:在屏幕上
呈現幾何繼我已經實現圍繞數據模型模型視圖類MVVM模式(點模型視圖,線模型視圖等)。在樹狀視圖中,我使用分層數據模板來正確顯示特定數據。在第二個視圖中,我需要呈現當前狀態的幾何圖形,目前它只是一個圍繞多邊形數據類的模型視圖包裝器,它傳播所有子元素並將其呈現在onRender方法中。在這種情況下,我在相同的數據上使用了多個視圖模型,兩者用於完全不同的目的。
當我在樹視圖模型中進行一些修改(例如添加點)時會出現問題,導致底層數據模型發生更改。然而,第二視圖模型並不直接觀察模型視圖中的數據,只有在通過模型視圖類進行修改時纔會更新渲染視圖。是否有一些優雅的解決方案可以一致地更新兩個視圖模型?