Как привязать SelectedValue ComboBox к свойству? - PullRequest
1 голос
/ 27 сентября 2010

У меня есть ComboBox с ItemsSource, который я привязал к списку (из строки).

Я хотел бы, чтобы XAML обновил свойство String, когда SelectedValueComboBox меняется.Я видел множество примеров для TextBox, которые используют

Text="{Binding Path=MyString}"

, но я не думаю, что так будет, если в будущем мне нужно будет изменитьItemsSource для списка (Of ObscureObject) ...

Ответы [ 2 ]

2 голосов
/ 27 сентября 2010

Привязка к выбранному свойству комбинированного списка довольно проста.

XAML:

<ComboBox ItemsSource={Binding Path=MyCollection} SelectedItem={Binding Path=MyItem}/>

CodeBehind:

public List<string> MyCollection {get; set;}
public string MyItem {get; set;}

Если вы хотите вставить текст ввыбранный элемент, вам нужно будет использовать INotifyPropertyChanged

, что касается проблемы масштабируемости, это довольно незначительное изменение, чтобы обновить тип свойства для отражения коллекции.В противном случае вы можете попробовать связать с Object, хотя это будет означать, что вам постоянно придется возвращать объект обратно в нужное вам состояние.

0 голосов
/ 27 сентября 2010

Вы можете использовать свойство SelectedItem ComboBox для достижения этой цели.

    <ComboBox ItemsSource="{Binding Path=YouList}" 
SelectedItem="{Binding Path=MyString}" />

Когда вы в будущем измените свой список, вам придется привязать SelectedItem к свойству типа вашего объекта.

Посмотрите эту статью для более подробной информации -

http://japikse.blogspot.com/2008/10/wpf-combobox-selecteditem-selectedvalue.html

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