我是 wpf 的新手,我决定制作一个简单的待办事项应用程序。我在一个列表视图中列出了任务,任务的数量各不相同,所以我创建了一个列表,然后将复选框列表定义为列表视图的项目源。我的问题是我无法在选中复选框时触发事件。我试过了,但效率不高,而且在我移动鼠标之前任务不会消失:
private void lw_liste_MouseMove(object sender, MouseEventArgs e)
{
for (int i = 0; i < tasks.Count; i++)
{
if((bool)tasks.ElementAt(i).IsChecked)
{
tasks.RemoveAt(i);
lw_liste.Items.Refresh();
}
}
}
如何在选中列表中的复选框时触发事件,以便将它们从列表中删除?
答案 0 :(得分:0)
有很多可能性。例如,您可以为检查事件设置一个处理程序,如果您想在后面的代码中执行此操作(我更喜欢 MVVM):
<ListView.Resources>
<Style TargetType="CheckBox">
<EventSetter Event="Checked" Handler="CheckBox_Checked"></EventSetter>
</Style>
</ListView.Resources>
请记住,还有 Unchecked
事件。