如何在XAML DataGrid中居中复选框

时间:2017-04-11 02:10:19

标签: wpf xaml checkbox datagrid

我正试图将一个复选框置于数据网格的单元格中。

我似乎无法想出一种在不同的Windows主题中工作的方法。例如,我可以将它放在中心位置,以便它在Classic Windows主题中看起来很好,但在Windows 7 Basic主题下它已关闭。

<DataGridCheckBoxColumn ElementStyle="{StaticResource CenteredCheckStyle}" MinWidth="15" 
CellStyle="{StaticResource SingleClickEditing}"  Visibility="{Binding exists}"
Binding="{Binding Path=toTransfer, Mode=TwoWay, 
UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" 
CanUserSort="False" CanUserResize="false" CanUserReorder="false">
     <DataGridCheckBoxColumn.HeaderTemplate>
         <DataTemplate>
             <StackPanel Orientation="Horizontal">
                <CheckBox Checked="CheckBox_Checked" Unchecked="CheckBox_Checked"  
                       HorizontalContentAlignment="Center" HorizontalAlignment="Center"
                       IsThreeState="False" Margin="8,0,0,0" Loaded="CheckBox_Loaded"/>
             </StackPanel>
         </DataTemplate>
    </DataGridCheckBoxColumn.HeaderTemplate>
</DataGridCheckBoxColumn>

1 个答案:

答案 0 :(得分:0)

我认为你可以用下面的方法设置DG的HeaderStyle属性。 我也是WPF的新手而不是专家,但希望它能以某种方式帮助你。

<DataGridCheckBoxColumn.HeaderStyle>
    <Style TargetType="{x:Type DataGridColumnHeader}">
       <Setter Property="HorizontalContentAlignment" Value="Center" />
    </Style>
</DataGridCheckBoxColumn.HeaderStyle>