Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XAML DataGrid复选框列标题不可见_C#_Wpf_Xaml_Checkbox_Datagrid - Fatal编程技术网

C# XAML DataGrid复选框列标题不可见

C# XAML DataGrid复选框列标题不可见,c#,wpf,xaml,checkbox,datagrid,C#,Wpf,Xaml,Checkbox,Datagrid,我有一个XAML格式的数据网格。第一列包含每行的复选框。 我想在标题行也有一个复选框。我试图定义一个,但它没有显示。在XAML窗口编辑器中,当我为标题选择checkbox元素时,我看到了它应该在哪里的轮廓,但它是隐藏的。 看起来它可能不在网格的顶部。 如何使标题复选框可见 <DataGridCheckBoxColumn ElementStyle="{StaticResource CenteredCheckStyle}" Width="41" CellStyle="{StaticRes

我有一个XAML格式的数据网格。第一列包含每行的复选框。 我想在标题行也有一个复选框。我试图定义一个,但它没有显示。在XAML窗口编辑器中,当我为标题选择checkbox元素时,我看到了它应该在哪里的轮廓,但它是隐藏的。 看起来它可能不在网格的顶部。 如何使标题复选框可见

 <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”。谢谢