为什么DataGridTemplateColumn可见性隐藏不为列分配空间?

时间:2012-11-27 14:19:12

标签: c# wpf visibility datagridtemplatecolumn

我有以下DataGridTemplateColumn:

 <DataGrid.>
      <DataGrid.Columns>
           <DataGridTemplateColumn x:Name="DeleteColumn" Header="" HeaderStyle="{StaticResource DeleteColumnHeaderStyle}" 
                                   Width="25" Visibility="Hidden" IsReadOnly="False" />
      </DataGrid.Columns>
 </DataGrid>

这个问题是它没有为宽度分配“25”空间,并且似乎提供与使用Visiblity.Collapsed相同的行为。

如何制作以便分配空间?

1 个答案:

答案 0 :(得分:0)

必须与VisualTree布局相符,因为DataGridColumns不在DataGrid的可视树中。我不确定但是作为一种解决方法,您可以使用列的CellTemplate来使用以下XAML来保留空间 -

   <DataGrid>
        <DataGrid.Columns>
            <DataGridTemplateColumn Width="100">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Visibility="Hidden"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>