Связывание выделенного значения в выпадающем списке в Grid - PullRequest
1 голос
/ 22 сентября 2011

У меня есть выпадающий список в виде столбца в виде сетки, и он привязан к локальному свойству следующим образом:

<ComboBox Name="cboMetaDataTypes" ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=MetaDataTypes}" 
DisplayMemberPath="Value" SelectedValuePath="Key"/>

Исходные MetaDataTypes - это список KeyValuePairs, в котором свойство Value отображается так, как вы видите.

Теперь я застрял. Я хочу привязать выбранное значение к ключу, который соответствует ключу столбца. И я хочу, чтобы выбранное значение было привязано к локальному свойству. Я много пробовал, но не могу этого сделать. Кто-нибудь может дать мне указания?

Спасибо.

1 Ответ

0 голосов
/ 22 сентября 2011

Если я понимаю, что вы хотите, вы хотите связать свойство SelectedValue со свойством в классе вашего окна (как определено в файле 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 как свойство зависимости, чтобы двусторонняя привязка данных работала правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...