2010-09-27 4 views
0

У меня есть ComboBox с ItemsSource, который я связал с List (Of String).Как связать SelectedValue ComboBox с Property?

Что бы я хотел сделать, это изменить XAML свойство String, когда изменяется SelectedValue из ComboBox. Я видел целую кучу примеров для TextBoxes, которые используют

Text="{Binding Path=MyString}" 

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

+0

больше информации, пожалуйста, –

ответ

2

Связывание с выбранным свойством combobox довольно просто.

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

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

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

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

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

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

Смежные вопросы