我有一个组合框作为gridview中的一列,它被绑定到一个本地属性,如下所示:
<ComboBox Name="cboMetaDataTypes" ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=MetaDataTypes}"
DisplayMemberPath="Value" SelectedValuePath="Key"/>
Source MetaDataTypes是KeyValuePairs的列表,其中显示了Value属性,如您所见。
现在我被卡住了。我想将选定的值绑定到与列的键匹配的键。我希望选定的值绑定到本地属性。我尝试了很多,但我无法实现。 谁能给我指示?
谢谢。
答案 0 :(得分:0)
如果我理解你想要的东西,你想要将SelectedValue
属性绑定到Window类中的属性(如MyWindow.xaml.cs文件中所定义)。根据我的经验,这样做的最好方法是为窗口类分配一个如下名称:
<Window x:Name="myWindow" ... >
然后您可以使用ComboBox执行以下操作
<ComboBox Name="cboMetaDataTypes" ItemsSource="{Binding RelativeSource={RelativeSource
FindAncestor, AncestorType={x:Type Window}}, Path=MetaDataTypes}"
DisplayMemberPath="Value" SelectedValuePath="Key"
SelectedValue="{Binding ElementName=myWindow, Path=myProperty }" />
您可能需要将myProperty
定义为依赖项属性,以使双向数据绑定正常工作。