选中列表中的复选框时如何触发事件

时间:2021-04-27 18:40:45

标签: c# wpf events

我是 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();
            }
        }
    }

如何在选中列表中的复选框时触发事件,以便将它们从列表中删除?

1 个答案:

答案 0 :(得分:0)

有很多可能性。例如,您可以为检查事件设置一个处理程序,如果您想在后面的代码中执行此操作(我更喜欢 MVVM):

<ListView.Resources>
    <Style TargetType="CheckBox">
        <EventSetter Event="Checked" Handler="CheckBox_Checked"></EventSetter>
    </Style>
</ListView.Resources>

请记住,还有 Unchecked 事件。

相关问题