将 List<string> 绑定到 ComboBox

Posted

技术标签:

【中文标题】将 List<string> 绑定到 ComboBox【英文标题】:Binding List<string> to ComboBox 【发布时间】:2011-11-11 21:00:51 【问题描述】:

我希望从我的列表中获取我的组合框项目名称和值 当然我不希望我的视图模型包含组合框项目列表。

我有一个列表a,b,c,d

我希望我的组合框有项目

我的视图模型得到了

public List<string> PropsList  get; set; 

我的观点得到了

<ComboBox Name="cbPropName" ItemsSource="PropsList"/>

它给了我 与 P r o p s L i s t 组合

:(

【问题讨论】:

【参考方案1】:

Nahum,你必须使用ItemsSource="Binding PropsList",假设 PropsList 是你代码后面的依赖属性,或者更好的是,你的数据上下文中实现INotifyPropertyChanged 的属性。在您的情况下,您必须将 View 的 DataContext 属性设置为 ViewModel

【讨论】:

这一直发生在我身上,即使在编写了这么多 XAML 行之后 :-)。如果对您有帮助,您可以 V 我的回答... 当然 =D 只需要等待 10 分钟。这个项目中的人太快了。【参考方案2】:

试试这个:

 <ComboBox Name="cbPropName" ItemsSource="Binding Path=PropsList" />

也可以看看这个:Binding WPF ComboBox to a Custom List

【讨论】:

以上是关于将 List<string> 绑定到 ComboBox的主要内容,如果未能解决你的问题,请参考以下文章

WPF:将 DataGrid 绑定到 List<String>

如何将 List<string> 绑定到 DataGridView 控件?

将 List<string> 绑定到 ComboBox

将 Picker ItemSource 绑定到 List<string> 不起作用 Xamarin.forms MVVM

绑定到 List<string> 时如何使 ListBox 可编辑?

WPF将comboBox绑定到List