数据网格上的Wpf复选框

时间:2018-04-10 16:20:55

标签: wpf datagrid

我在数据网格上有一个复选框,但我遇到了问题: 如果我第一次点击复选框我无法选中复选框,因为我认为WPF会选择该行。 你有解决这个问题的方法吗?

提前谢谢!

2 个答案:

答案 0 :(得分:0)

如果我按照您的意思操作,您只需点击一下即可查看复选框。 您可以确保最初在单元格中有一个复选框:

<DataGridTemplateColumn Header="Chk" MinWidth="40" >
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <CheckBox IsChecked="{Binding IsChecked}" />
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

最初将bound属性设置为false

public bool IsChecked { get; set; } = false;

答案 1 :(得分:0)

您需要设置触发器以将鼠标悬停在事件上并选择行。这样您只需单击鼠标一下即可选中/取消选中该框:

<Window.Resources>
    <Style TargetType="DataGridCell">
        <Style.Triggers>
            <!-- The following style trigger allows for a single click to set/unset a checkbox in the datagrid-->
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="IsEditing" Value="True"></Setter>
            </Trigger>
        </Style.Triggers>
    </Style>
</Window.Resources>