首页 > 解决方案 > WPF Combobox如何填充列表

问题描述

当我自学编程时,我正在为自己构建一个预算跟踪应用程序,并且我希望有我花钱的东西的类别。我有一个combobox我想用一个包含类别的列表的内容来填充它。我该怎么做呢?

标签: c#wpfcombobox

解决方案


您只需将一组项目分配给该ItemsSource属性:

comboBox.ItemsSource = new List<string> { "Item 1", "Item 2", "Item 3" };

请参阅MS Docs 上ItemsControl.ItemsSource 属性的备注:

内容模型:此属性可用于将项目添加到 ItemsControl。

一个常见的场景是使用 ListBox、ListView 或 TreeView 等 ItemsControl 来显示数据集合,或者将 ItemsControl 绑定到集合对象。要将 ItemsControl 绑定到集合对象,请使用 ItemsSource 属性。请注意,ItemsSource 属性默认支持 OneWay 绑定。

设置 ItemsSource 属性后,Items 集合变为只读且大小固定。


据我了解,该Items属性主要作为默认集合存在,当您直接在 XAML 中分配项目时,会在其中添加项目。ItemsControls 的属性为

[System.Windows.Markup.ContentProperty("Items")]

像这样支持 XAML:

<ComboBox>
    <sys:String>Item 1</sys:String>
    <sys:String>Item 2</sys:String>
    <sys:String>Item 3</sys:String>
</ComboBox>

推荐阅读