我目前在努力让我的CheckBox
在GridViewColumn
中居中。
我已经定义了CheckBox
的Style
,如下所示:
<Style TargetType="{x:Type CheckBox}" x:Key="DataGridCheckBox">
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="IsEnabled" Value="False" />
<Setter Property="Margin" Value="4" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Width" Value="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type GridViewColumn}},Path=ActualWidth}" />
</Style>
我的CheckBox
被添加到GridViewColumn
中,使用了如下的DataTemplate
:
<GridViewColumn Header="Comment">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Style="{StaticResource DataGridCheckBox}" IsChecked="{Binding PropertyItem.Comment, Converter={StaticResource booleanConverter}, ConverterParameter='string'}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
但是我的问题是,即使调整列的大小,
CheckBox
仍然保持左对齐。你有什么想法吗?
谢谢您提前的帮助,Sonny
编辑:我一直在测试一个空窗口中的
CheckBox
,我认为问题可能与CheckBox
控件有关。如果我制作一个非常宽的CheckBox
,我仍然似乎无法使其内部的CheckBox
部分对齐。它总是想要去到左上角。根据名称,ContentAlignment
属性似乎只能对齐内容。