我有一個父視圖,它定義了Xaml中的子視圖。子視圖具有綁定到父視圖的ViewModel的DependencyProperty
。但是,該視圖的ViewModel也需要該值。WPF MVVM和依賴屬性嵌套視圖
<custom:Parent>
<custom:Child ChildId="{Binding ParentFooId}" ... />
</custom:Parent>
ChildId
被實現爲ChildView
控制的依賴特性。如果ChildViewModel
需要ParentFooId
,那麼獲得它的適當MVVM方法是什麼?
我不想給ChildView
的DataContext
鑄造成一個ChildViewModel
和設定值在OnChildIdChanged
處理程序ChildView
的。這對我來說似乎不是MVVM。
我想的另一替代方法是創建一個新的ChildViewModel
用值並將其設置爲在OnParentFooIdChanged
事件DataContext
(在ParentViewModel
);但是這看起來不太正確,因爲ViewModel應該對視圖不知情(因此對DataContext
s沒有任何認識)。
好像我失去了一些東西明顯...
所以孩子的視圖模型將有一個「父」屬性包含父母的視圖模型...嗯。我認爲這會起作用......我認爲這可能是我明顯缺少的東西。 – SergioL 2009-11-09 15:04:59