更改WPF数据网格中滚动条的位置

我的C#WPF应用程序中的数据网格存在布局问题。 如果我的数据网格的内容无法在我的数据网格中显示,因为有很多行,则会显示滚动查看器(和滚动条)。 这是正确的方法,我很高兴。

问题是,我的数据网格中的scrollviewer的位置是错误的。 scrollviewer在标题行中开始,但Scrollbar显示在我的内容的第一行中。 在标题中有一个白色的纠结。 这是因为我的数据网格的背景是白色的。 但我标题的背景是灰色的。

我上传了一张带有红色箭头的图片来澄清我的问题。 白色的视角看起来很难看,所以在我看来这是更改滚动查看器位置的更好方法,所以它从内容的第一行开始。 也许有另一种可能性来解决这个问题?

“使用Scrollviewer进行数据网格化” – 图像:

在此处输入图像描述

感谢任何提示,这将有助于我解决问题!

最好的问候,Flasher

你可以为你的数据网格创建自己的风格,这里是一个混合了两个变化的风格

看看这两个变化

对于PART_VerticalScrollBar – > Grid.Row="0"Grid.RowSpan="2"并且对于包含PART_HorizontalScrollBar的网格 – > Grid.ColumnSpan="2"

这是完整的风格

  

希望这可以帮助

我一直讨厌那个角落。 最简单的方法是将DataGrid.Background颜色设置为您的标题颜色,尽管如果它具有固定大小,它也会为空DataGrid的背景着色。 你总是可以通过将DataGrid放在一个不会拉伸它的子LastChildFill="False"的控件中来避免这种情况,比如StackPanel ,或者一个DockPanel其中LastChildFill="False"

    

替代方案包括覆盖DataGrid的样式或模板片段或它的ScrollBars。 凌乱,但可能。

将您的datagrid包含在Scrollviewer中,并将其horizo​​ntalScrollBarVisibility设置为hidden,将VerticalScrollBarVisibility设置为Auto.Hope,这将有所帮助。