我想使用组合框,下面的代码可以正常工作,但现在我想 添加到组合框标题默认值,即有值(value)和喜欢 项目,当您打开它时,您可以选择更改它,我该怎么做?
<ComboBox ItemsSource="{Binding Items}" SelectedValue="{Binding SelectedItem}"
Name="comboBox1" Text="Item" Grid.Column="3" Grid.Row="2" />
代码
private List<String> _items;
private String _selectedItem;
private String _selectedBusinessItem;
public List<String> Items
{
get { return _items; }
set
{
_items = value;
OnPropertyChanged("Items");
}
}
public String SelectedItem1
{
get { return _selectedItem; }
set
{
_selectedItem = value;
OnPropertyChanged("Items");
}
}
private void InitCombo()
{
Items = new List<string> { "item", "Item2", "Item3" };
SelectedItem1 = Items[0];
}
最佳答案
很难理解您的要求,但我认为您只是在寻找 ComboBox
来显示 Items
集合中的第一个值。
我相信您可以通过几种方式做到这一点。
首先,您需要修复 SelectedValue
绑定(bind)以匹配您的属性名称,并删除 Text="Item"
:
<ComboBox ItemsSource="{Binding Items}" SelectedValue="{Binding SelectedItem1}"
Name="comboBox1" Grid.Column="3" Grid.Row="2" />
从您的代码中,您可以将您拥有的 SelectedValue1
属性设置为任何 string
项目。这方面的例子:
SelectedValue1 = "item";
-或-
SelectedValue1 = Items.FirstOrDefault();
我使用 FirstOrDefault
作为安全措施,以防这些项目不存在。
-或-
SelectedValue1 = Items[0];
这里还有几个选项。但我会尝试限制答案的范围。
此外,您应该能够将 ComboBox.SelectedIndex
设置为 0。
<ComboBox ItemsSource="{Binding Items}" SelectedValue="{Binding SelectedItem1}"
Name="comboBox1" Grid.Column="3" Grid.Row="2"
SelectedIndex="0"/>
关于c# - 组合框默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21459083/