我有两个内容控件如何在它们之间共享公共属性, 例如,如果我从第一个内容控件中的组合框中选择一些值, 第二个控件怎么知道呢
<telerikNavigation:RadTabItem Header="1">
<StackPanel>
<ContentControl Content="{Binding EGRPExtractViewModel.View}" />
</StackPanel>
</telerikNavigation:RadTabItem>
<telerikNavigation:RadTabItem Header="2">
<ContentControl Content="{Binding EGRPRightObjectViewModel.View}" />
</telerikNavigation:RadTabItem>
由于
答案 0 :(得分:0)
您需要使用双向绑定,然后在ViewModel中响应属性更改。
<ContentControl Content="{Binding EGRPRightObjectViewModel.View,Mode=TwoWay}" />
有关如何响应已更改的属性,请参阅MSDN文档:http://msdn.microsoft.com/en-us/library/ms743695(v=vs.110).aspx
答案 1 :(得分:0)
您不绑定视图属性。您可以在同一视图中绑定 control 属性,因此您可以创建一个控件,专门为此原因公开可绑定属性。
使用mvvm时,通常视图模型应为视图提供所有需要的属性。如果它是来自其他视图模型的属性,则仍然必须由此视图的视图模型提供(搜索有关如何在视图模型之间传递数据的问题,例如,here是一个。)