我有一个父视图,它定义了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