WPF DataGridCheckBoxColumn: как скрыть флажок, если значение привязки равно нулю? - PullRequest
2 голосов
/ 21 мая 2011

У меня есть сетка данных с привязкой DataGridCheckBoxColumn к обнуляемому bool. Я хотел бы полностью скрыть флажок, если значение равно нулю. Я попробовал следующий триггер, но он не работает:

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

Возможно ли это вообще? Ваша помощь очень ценится!

1 Ответ

3 голосов
/ 21 мая 2011

В DataGrid всегда есть два стиля: ElementStyle и EditingElementStyle, ваш стиль должен быть применен как ElementStyle, тогда вы все еще можете отредактировать флажок, но он не будет виден, когда не в редактировании режим, если ноль. Также должны быть включены три состояния.

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...