繁体   English   中英

DataGrid列标题与数据不对齐

[英]DataGrid column headers not aligned with data

我有一个DataGrid,就DataGrid而言,这很简单。 由于某些原因,标题与其余数据不对齐,如下面的屏幕快照所示:

在此处输入图片说明

我已经搜索了互联网,但似乎找不到解决方案。 这是我的DataGrid代码:

Grid>
        <DataGrid Name="dgAttributes" 
                  ItemsSource="{Binding itemsSource}" 
                  AutoGenerateColumns="False" 
                  CanUserAddRows="False" 
                  CanUserDeleteRows="False" 
                  CanUserReorderColumns="False" 
                  CanUserResizeColumns="False" 
                  CanUserResizeRows="False"
                  CanUserSortColumns="False"
                  >
            <DataGrid.Columns>
                <DataGridTextColumn Width="Auto" IsReadOnly="True" Binding="{Binding Field}" Header="Fields"/>
                <DataGridComboBoxColumn  Width="95" IsReadOnly="False" Header="Order" ItemsSource="{Binding Source={StaticResource SortOrderProvider}}" SelectedItemBinding="{Binding SortBy, Mode=TwoWay}"/>
                <DataGridCheckBoxColumn Width="Auto" IsReadOnly="False" Binding="{Binding GroupBy}" Header="Group By"/>
                <DataGridComboBoxColumn Width="85" IsReadOnly="False" Header="Aggregate" ItemsSource="{Binding Source={StaticResource AggregateProvider}}" SelectedItemBinding="{Binding AggregateBy, Mode=TwoWay}"/>
                <DataGridTextColumn Width="Auto" IsReadOnly="False" Binding="{Binding Having}" Header="Having"/>
                <DataGridTextColumn Width="Auto" IsReadOnly="False" Binding="{Binding DisplayOrder}" Header="Display Order"/>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>

值得一提的是,当我单击组合框单元格之一时,标题将正确对齐。

您肯定有某种风格或某种隐藏了datagrid 左上方的 Select All按钮的东西。 因此,列向左移动一点。

使用此线程可以在DataGrid.OnLoad获取该按钮,并检查其Visibility属性。

全选按钮WPF DataGrid

如果其折叠/隐藏,则将可见性设置为Visbility.Visible 或检查其Width为零并设置适当的Width

最后我克服了这个问题, 在这里找到解决方案

抱歉,我没有注意到您没有覆盖DataGrid控件模板。 恐怕,您将必须定义一个控件模板才能更正DataGrid行为。

PS:我有.NET Framework 4.0

我发现只需将HeadersVisiblity设置为“ Column” 即可达到目的-请参见下面的XAML。
比掌握那个SelectAll Button更容易...

<DataGrid x:Name="myGrid" HeadersVisibility="Column">

您可以使用DataGrid Like的属性,还可以为Row定义特定的CSS类。

HeaderStyle-HorizontalAlign=""
HeaderStyle-CssClass=""

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM