【发布时间】:2017-11-22 22:18:23
【问题描述】:
我遇到了 wpf ComboBox 的问题。 我首先添加了一个文本框作为第一个用于我的过滤建议的项目 然后我通过 Foreach 循环在 Combobox 中添加了大约 20 个复选框。 像这样
现在,当我将它们过滤掉时(我检查是否为真,然后是 Visibility.Collapsed),它们的踪迹仍在组合框中,就像这样
记住项目是一一添加到组合框中的 像这样
DataTable machinesTable = machineModel.GetAllMachines().Tables[0];
List<CheckBox> list = new List<CheckBox>();
foreach (DataRow item in machinesTable.Rows)
{
string ID = item["ID"].ToString();
string manufacture = item["MANUFACTURER"].ToString();
string model = item["MODEL"].ToString();
MachinesComboBox.Items.Add(new CheckBox() { Uid = ID, Content = manufacture + " - " + model });
}
过滤系统是这样工作的
foreach (object item in MachinesComboBox.Items)
{
if (item is CheckBox)
{
if (((CheckBox)item).Content.ToString().Contains(MachinFilterTextbox.Text) || MachinFilterTextbox.Text=="")
{
((CheckBox)item).Visibility = Visibility.Visible;
}
else
{
((CheckBox)item).Visibility = Visibility.Collapsed;
}
}
}
【问题讨论】:
标签: c# wpf combobox filtering visibility