在我自学编程的同时,我正在为自己构建预算跟踪应用程序,我想花些钱花一些钱。我有一个render(){
const {isLoaded} = this.state;
if(!isLoaded) {
return <div>Loading...</div>
}
return(
<div>
<select onChange={this.handleChange}>
<option value="America/Chicago">Chicago</option>
<option value="America/Sao_Paulo">São Paulo</option>
</select>
</div>
)
}
,我想用包含类别的List的内容填充。我将如何去做?
答案 0 :(得分:1)
您只需将一组项目分配给ItemsSource
属性:
comboBox.ItemsSource = new List<string> { "Item 1", "Item 2", "Item 3" };
请参阅MS Docs中ItemsControl.ItemsSource Property的备注:
内容模型:此属性可用于将项目添加到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>
答案 1 :(得分:0)
要用列表的内容填充组合框,需要将列表的每个项目添加到组合框的items
中。
一个简单的示例,假设您定义了comboBox1
:
List<string> myList = new List<string> { "item1", "item2", "item3" };
myList.ForEach(x => { comboBox1.Items.Add(x); });