WPF DataGridCheckBoxColumn:如果绑定值为null,如何隐藏复选框?

时间:2011-05-21 01:40:34

标签: wpf datagrid checkbox

我有一个DataGrid,其DataGridCheckBoxColumn绑定到可以为空的bool。如果值为null,我想完全隐藏该复选框。我尝试了以下触发器,但它不起作用:

<Style TargetType="CheckBox">
    <Style.Triggers>
        <Trigger Property="IsChecked" Value="{x:Null}">
            <Setter Property="Visibility" Value="Hidden"/>
        </Trigger>
    </Style.Triggers>
</Style>

有可能吗?非常感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

DataGrid中总有两种样式,ElementStyleEditingElementStyle,您的样式应该应用为ElementStyle,然后您仍然可以编辑复选框但不会如果不为编辑模式,则显示为null。此外,还需要启用这三种状态。

<DataGridCheckBoxColumn Binding="{Binding MyNullableBool}" IsThreeState="True">
    <DataGridCheckBoxColumn.ElementStyle>
        <Style TargetType="CheckBox">
            <Style.Triggers>
                <Trigger Property="IsChecked" Value="{x:Null}">
                    <Setter Property="Visibility" Value="Hidden"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </DataGridCheckBoxColumn.ElementStyle>
</DataGridCheckBoxColumn>