WPF 多选框删除:利用 ID 实现高效删除
假设有一个多选框列表,每个多选框都有一个唯一的 id 属性。当用户勾选其中某些多选框后,想要删除这些多选框,可以按照以下步骤实现:
- 在 XAML 中定义多选框列表,每个多选框都有一个唯一的 id 属性,如下所示:
<StackPanel>
<CheckBox Name='checkBox1' Content='Option 1' IsChecked='False' Tag='1'/>
<CheckBox Name='checkBox2' Content='Option 2' IsChecked='False' Tag='2'/>
<CheckBox Name='checkBox3' Content='Option 3' IsChecked='False' Tag='3'/>
<CheckBox Name='checkBox4' Content='Option 4' IsChecked='False' Tag='4'/>
</StackPanel>
- 在代码中定义一个方法,用于删除勾选的多选框,如下所示:
private void DeleteCheckedCheckBoxes()
{
List<CheckBox> checkedCheckBoxes = new List<CheckBox>();
foreach (CheckBox checkBox in checkBoxList.Children)
{
if (checkBox.IsChecked == true)
{
checkedCheckBoxes.Add(checkBox);
}
}
foreach (CheckBox checkBox in checkedCheckBoxes)
{
checkBoxList.Children.Remove(checkBox);
}
}
该方法首先遍历多选框列表,找出所有被勾选的多选框,然后再遍历勾选的多选框列表,逐个删除这些多选框。
- 在界面上添加一个按钮,并将该方法绑定到按钮的 Click 事件上,如下所示:
<Button Content='Delete Checked' Click='DeleteChecked_Click'/>
private void DeleteChecked_Click(object sender, RoutedEventArgs e)
{
DeleteCheckedCheckBoxes();
}
这样,当用户勾选多选框后,点击“Delete Checked”按钮,就会删除所有被勾选的多选框。
原文地址: https://www.cveoy.top/t/topic/nfAx 著作权归作者所有。请勿转载和采集!