В настоящее время я борюсь за то, чтобы мои CheckBox
были правильно центрированы в моих GridViewColumn
с.
Я определил Style
для моих CheckBox
es следующим образом:
<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
, кажется, только выравнивают содержимое.