如何将ComboBox的SelectedValue绑定到属性?

时间:2010-09-27 09:02:39

标签: wpf vb.net data-binding combobox

我有一个带有ItemsSource的ComboBox,我已将其绑定到List(Of String)。

我想要做的是当ComboBox的SelectedValue发生更改时,让XAML更新一个String属性。我见过一大堆使用

的TextBox的例子
Text="{Binding Path=MyString}"

有些东西,但是如果将来我需要将ItemsSource更改为List(Of ObscureObject),我真的不会想要这样做......

2 个答案:

答案 0 :(得分:2)

绑定到组合框的选定属性非常简单。

XAML:

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

CodeBehind:

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

如果要在所选项目中插入文字,则需要使用INotifyPropertyChanged

至于您的可伸缩性问题,它是一个相当小的更改,用于更新属性的类型以反映集合。否则你可以尝试绑定到Object,尽管这意味着你将不断地将对象重新设置回你想要的状态。

答案 1 :(得分:0)

您可以使用ComboBox的SelectedItem属性来实现此目的。

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

将来更改列表时,必须使用对象类型的属性绑定SelectedItem。

有关详细信息,请查看此文章 -

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