我有一个在Xaml中创建的对象:
<Grid>
<MyObject/>
</Grid>
我需要将对象myObject绑定回视图模型中的属性。我不知道这是否可能,到目前为止我所看到的一切都将属性结合在一起,但任何帮助都将不胜感激。
答案 0 :(得分:2)
我假设你想要的是ViewModel
在其中保留实际的视觉控制MyObject
,而你的Grid
则通过MVVM
显示它。
这可以通过WPF中的ContentControl
来实现。
假设您的ViewModel
有一个属性MyObjectView
,其中包含MyObject
...
<Grid>
<ContentControl Content="{Binding MyObjectView}" />
</Grid>
话虽如此,您必须注意,MyObjectView
不会绑定到任何其他内容控件,因为这会导致错误
“指定的元素已经是另一个元素的逻辑子元素。 首先断开它“
如果可以满足要求,则必须执行ContentTemplate
选项。
如果有帮助,请告诉我。
答案 1 :(得分:0)
有可能。虽然它有点打破了。
您可以将InvokeCommandAction附加到此对象,并通过ElementBinding将CommandParameter绑定到它。然后在您在viewmodel中定义的命令的回调中,您将从CommandParameter中引用此对象。