首先,我要做的是:我有一个带有一列和x行的WPF数据网格。我有一个样式触发器,只要ScrollViewer.VerticalScrollBarVisibility
为Visible
,就会将IsMouseOver
设置为True
。它按预期工作,但问题是,列将根据滚动条的上限(滚动条宽度5 px)调整大小。所以我决定设置一个填充到我的网格,当显示滚动条时,填充从5变为0。
它工作得很好,但如果我的行不超过数据网格的边框,则会显示灰色禁用的背景。我可以将ScrollViewer.VerticalScrollBarVisibility
设置为Auto
,然后如果我的数据网格中有足够的空间,则背景不会显示,但是填充会调整列的大小(因为没有显示的5px滚动条)
所以我决定坚持使用Visible而不是Auto设置,并尝试使这个禁用的滚动条背景透明。这是可能的,还是可以通过另一种解决方法来解决这个问题?
答案 0 :(得分:1)
我找到了解决方案。快速而肮脏:
Scrollbar.xml
复制到您想要的项目x:Key="NAME"
转到DataGrid并在datagrid-opening和closing标签之间发布此代码:
就是这样!您可以根据需要设置滚动条的样式,它将在您的数据网格中更改(并且就在那里!)