如何在WPF中清除组合框?我试过这段代码:
private void btClear1_Click(object sender, RoutedEventArgs e)
{
txtID.Text = String.Empty;
this.cbType.SelectedItem = -1;
}
答案 0 :(得分:4)
cbTypion.SelectedItem = -1
清除选择
cbType.Items.Clear()
清除所有项目
答案 1 :(得分:3)
您可以通过XAML页面中的绑定重置组合框。
例如,在XAML页面中的组合框字段中:
text={Binding viewmodelobject Name.property Name}
然后在ViewModelPage
:
viewmodelobject Name.property Name="";
答案 2 :(得分:2)
要清除选择,请设置SelectedIndex
而不是SelectedItem
cboType.SelectedIndex = -1;
您也可以设置SelectedItem
或SelectedValue
,但将其更改为null
而不是-1(这些指向对象而不是整数)。
cboType.SelectedItem = null;
答案 3 :(得分:1)
完全清算箱子物品
对于Google员工,由于标题具有误导性,如果我们正在谈论从框中清除项目,我已经看到几个答案说要使用cbType.Items.Clear()
。这取决于物品的装载方式。您可以将它们硬编码到XAML中,在运行时动态添加它们,使用一种数据绑定和/或将它们加载到.ItemSource
。它适用于除后一种情况之外的所有情况。
例如,当您使用.ItemSource
通过DataTable的ComboBox
加载DefaultView
时,您不能简单地执行cbType.Items.Clear()
。由于填充下拉列表的方法未包含在问题中,我提交的内容是,当您设置.ItemSource
时,您必须执行以下操作:
cbType.ItemsSource = null;
代替。否则,如果您尝试cbType.Items.Clear()
,您将获得:
Operation is not valid while ItemSource is in use. Access and modify
elements with ItemsControl.ItemsSource instead
清除所选项目
我回去看了OP的评论,说希望清除选择,而不是盒子。为此,其他答案代表:
cbType.SelectedIndex = -1;
cbType.Text = ""; // I've found the first line does this for me, as far as appearances, but found other postings saying it's necessary - maybe they were using the property and it wasn't getting cleared, otherwise