C# XAML DataGrid复选框列标题不可见
我有一个XAML格式的数据网格。第一列包含每行的复选框。 我想在标题行也有一个复选框。我试图定义一个,但它没有显示。在XAML窗口编辑器中,当我为标题选择checkbox元素时,我看到了它应该在哪里的轮廓,但它是隐藏的。 看起来它可能不在网格的顶部。 如何使标题复选框可见C# XAML DataGrid复选框列标题不可见,c#,wpf,xaml,checkbox,datagrid,C#,Wpf,Xaml,Checkbox,Datagrid,我有一个XAML格式的数据网格。第一列包含每行的复选框。 我想在标题行也有一个复选框。我试图定义一个,但它没有显示。在XAML窗口编辑器中,当我为标题选择checkbox元素时,我看到了它应该在哪里的轮廓,但它是隐藏的。 看起来它可能不在网格的顶部。 如何使标题复选框可见 <DataGridCheckBoxColumn ElementStyle="{StaticResource CenteredCheckStyle}" Width="41" CellStyle="{StaticRes
<DataGridCheckBoxColumn ElementStyle="{StaticResource CenteredCheckStyle}" Width="41"
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" Loaded="CheckBox_Loaded" HorizontalAlignment="Right"
IsThreeState="False" Margin="10,0,0,0" />
</StackPanel>
</DataTemplate>
</DataGridCheckBoxColumn.HeaderTemplate>
</DataGridCheckBoxColumn>
以下是CenteredCheckStyle的定义
<Style x:Key="CenteredCheckStyle" TargetType="{x:Type CheckBox}" BasedOn="{StaticResource {x:Type CheckBox}}">
<Setter Property="Margin" Value="0,2,0,0"/>
<Setter Property="HorizontalAlignment" Value="Center"></Setter>
</Style>
卸下堆叠面板,因为它是多余的。同时删除复选框上的边距,可能使其对齐居中,然后查看是否看到它。没有什么能让人看不到它,所以我想可能是因为它的对齐和边距把它推到了视线之外。谢谢,但这没用。我移除了堆叠面板,将水平对齐改为居中。当在编辑器中选择时,我看到它应该位于的矩形轮廓,因此它似乎定位正确。网格行中的复选框显示正确。出于好奇,删除固定宽度怎么样?一定有什么东西把它从contentpresenter的视口中推到了某处。我不希望elementstyle或cellstyle能做到这一点,但如果没有它们,消除可能性也可能会尝试。如果我有时间的话,我会试着运行你的东西,看看我是否看到同样的结果。你是对的。我发现了问题。为了使网格的大小可调整,另一列的宽度为=“*”,然后我将Width=“41”更改为MinWidth=“41”。谢谢