我有一個主視圖,你有一個對象,你可以改變該對象的屬性。但是,當你點擊一個按鈕時,我有一個彈出窗口:高級屬性。但是,您在彈出窗口中所做的這些更改也必須在主視圖的對象中完成。如何通過兩個viewmodels傳遞對象? Wpf MVVM
所以我實現了一個viewmodel以及彈出窗口。我可以在這裏放一些代碼,但這是無用的,因爲我沒有任何東西,只有2個視圖模型綁定了一些文本框來改變對象的屬性。所以2個viewmodel不能在同一個對象上一起工作(這是我應該這樣做的)。
彈出窗口很難找到您在mainview中工作的對象。在某種程度上,我應該能夠將您在彈出窗口中所做的更改傳遞給主視圖(對同一對象)。有人知道如何做到這一點?我正在尋找這個很長一段時間,但我真的不知道修復或解決我的問題:(..
我使用第一個我認爲,但是我可以給這個高級窗口的視圖。但是現在我的問題是,當我關閉這個彈出窗口並返回到主屏幕時,我必須做什麼?然後,我必須將新更改的對象返回給主視圖模型?還是我現在錯了? – Ruben
如上所述,您的第二個視圖模型將更新模型的相同實例,因此您不需要在原始視圖中更新原始副本。如果您只需在高級窗口關閉時收到通知,那麼正如我所說的那樣,您可以使用標準.NET事件來通知(在原始窗口中訂閱,在高級窗口中發佈)或事件聚合器,具體取決於你正在使用什麼MVVM框架。 – devdigital
非常感謝!我終於明白了,它工作正常。 – Ruben