[英]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
属性。
如果其折叠/隐藏,则将可见性设置为Visbility.Visible
。 或检查其Width
为零并设置适当的Width
。
我发现只需将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.