-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. 如何從父視圖中捕獲Key Down事件到WPF中的子視圖
- 7. 在swift中更改子視圖的alpha而不是父視圖
- 8. asp.net mvc父視圖父視圖更新子視圖
- 9. 如果子視圖更改大小調整父視圖
- 10. 從父視圖中設置子控件視圖模型的屬性xaml
- 11. 從子視圖呈現父視圖backbone.js
- 12. WPF MVVM:無法從主視圖中綁定子視圖控件屬性
- 13. 更改子視圖的alpha值而不更改父視圖的alpha值
- 14. 從子視圖控制器設置父視圖控制器類的屬性值?
- 15. 如何更新ObservableMap中對象屬性更改的視圖?
- 16. 更改視圖屬性的onCreate()
- 17. Android更改視圖的文本屬性
- 18. 添加視圖從子視圖的父視圖
- 19. 將父視圖中的自定義屬性的值級聯到子視圖?
- 20. 如何從父數組視圖顯示子對象視圖
- 21. 如何使子視圖中的按鈕更新其父視圖中的信息?
- 22. 如何在Swift中訪問父視圖中的容器視圖子視圖
- 23. 如何更改視圖的可見性?
- 24. 如何將子視圖與父視圖的中心對齊?
- 25. 做的父視圖子視圖modalviewcontroller resignFirstResponder?
- 26. 更改在子視圖中父視圖上設置的約束條件
- 27. 訪問父視圖的屬性
- 28. 如何將對子對象實例中屬性的更改傳遞給視圖?
- 29. 父視圖 - >子視圖 - >按鈕 - >子視圖方法
- 30. 如何從OSMDROID的「普通視圖」更改爲「衛星視圖」
事件對此很好,或者您可以在父視圖中創建靜態操作方法。或者如果你想獲得真正的技術,你可以創建一個消息總線。 –
我在這種情況下使用以下兩種方法之一:1)在子視圖模型中觸發事件並在父級虛擬機中訂閱此事件2)使用所需方法創建一個接口,在父級虛擬機中實現它,並將父級虛擬機上的引用傳遞給子級vm通過這個接口。如果嵌套級別大於1,我更喜歡第二種方法。 – Maxim