-1
A
回答
0
子視圖模型沒有關於默認父知識。您可以在創建時向孩子注入對父母的引用,例如
public MethodInParent()
{
var child = new ChildViewModel(this);
}
或者您可以使用信使或事件聚合器以鬆散耦合的方式在孩子和父母之間發送消息或事件。有關此概念的更多信息,請參閱以下鏈接:https://blog.magnusmontin.net/2014/02/28/using-the-event-aggregator-pattern-to-communicate-between-view-models/。
+0
請注意,ChildViewModel不應將整個父視圖模型作爲參數,因爲這是一種不好的做法。子視圖模型必須知道父視圖模型,只需知道它需要什麼,僅此而已。 'ChildViewModel'的構造函數可以在父視圖模型中實現一些接口。 – Maxim
相關問題
- 1. 如何在父樹屬性在樹視圖中更改時更改子屬性?
- 2. 從子視圖更改父視圖中的數據IOS
- 3. 從子視圖中更改視圖
- 4. 如何更改父視圖的高度以適合子視圖
- 5. wpf:從視圖模型中更改依賴項屬性的值
- 6. 更新父從子視圖
- 7. 如何在子視圖加載時更改父視圖類名?
- 8. 如何從父視圖中捕獲Key Down事件到WPF中的子視圖
- 9. 如何更改WPF中的視圖?
- 10. 在swift中更改子視圖的alpha而不是父視圖
- 11. 添加子視圖發佈父視圖控制器的屬性
- 12. 如果子視圖更改大小調整父視圖
- 13. asp.net mvc父視圖父視圖更新子視圖
- 14. 從父視圖中設置子控件視圖模型的屬性xaml
- 15. 從視圖中移除父視圖的視圖從視圖中移除的視圖中的父視圖
- 16. 從子視圖呈現父視圖backbone.js
- 17. WPF MVVM:無法從主視圖中綁定子視圖控件屬性
- 18. 如何從MVC4的視圖中編輯父級的屬性?
- 19. XAML:從父視圖設置屬性?
- 20. 更改子視圖的alpha值而不更改父視圖的alpha值
- 21. 從子視圖控制器設置父視圖控制器類的屬性值?
- 22. 如何更新ObservableMap中對象屬性更改的視圖?
- 23. 更改視圖屬性的onCreate()
- 24. Android更改視圖的文本屬性
- 25. 更改Jackson活動視圖的屬性
- 26. 添加視圖從子視圖的父視圖
- 27. WPF樹視圖,如何更改縮進
- 28. 立即更改子視圖可見性更新android視圖
- 29. 將父視圖中的自定義屬性的值級聯到子視圖?
- 30. 從父視圖更改觸摸處理
事件對此很好,或者您可以在父視圖中創建靜態操作方法。或者如果你想獲得真正的技術,你可以創建一個消息總線。 –
我在這種情況下使用以下兩種方法之一:1)在子視圖模型中觸發事件並在父級虛擬機中訂閱此事件2)使用所需方法創建一個接口,在父級虛擬機中實現它,並將父級虛擬機上的引用傳遞給子級vm通過這個接口。如果嵌套級別大於1,我更喜歡第二種方法。 – Maxim