我正在使用Silverlight 4和MVVM模式。
我的视图模型有两个属性:
SomeProperty
和MyCommand
SomeProperty
是一个复杂的类型并且有很多子属性。MyCommand
是用于处理来自 Button 的命令的属性。
我有一个带有 Grid 的子窗口(视图),LayoutRoot
它绑定到SomeProperty
视图模型的属性。
<Grid x:Name="LayoutRoot" DataContext="{Binding SomeProperty, Mode=TwoWay}">
...
</Grid>
但是,在 Grid 内部,我想将 Button 的Command
属性绑定到MyCommand
视图模型的属性:
<Button Command={Binding MyCommand} />
但这不起作用,因为MyCommand
它是视图模型的属性,而不是视图模型属性的SomeProperty
属性。(当我单击按钮时,它不会执行命令。)
任何人,有没有办法在 Silverlight 4 中使用数据绑定,这样我可以让容器 UI 元素DataContext
显式设置其属性,但随后在容器内有一个不同的控件引用一个属性,该属性是 of 的兄弟(或父级或其他DataContext
)包含控件?
我当前的解决方法是在视图的类中定义绑定,但我宁愿在 XAML 中使用它。
谢谢