WPF共享控件之间的公共属性

时间:2014-11-07 12:17:07

标签: c# wpf data-binding

我有两个内容控件如何在它们之间共享公共属性, 例如,如果我从第一个内容控件中的组合框中选择一些值, 第二个控件怎么知道呢

<telerikNavigation:RadTabItem Header="1">
    <StackPanel>
        <ContentControl Content="{Binding EGRPExtractViewModel.View}" />                    
    </StackPanel>
</telerikNavigation:RadTabItem>
        <telerikNavigation:RadTabItem Header="2">
        <ContentControl Content="{Binding EGRPRightObjectViewModel.View}" />
</telerikNavigation:RadTabItem>

由于

2 个答案:

答案 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是一个。)