无法在 WPF 中完全设置 ListBox/Scrollviewer 的样式
我正在使用我们使用标准 ControlTemplates 创建的自定义滚动条,但是当我将它们应用到列表框时,右下角有一个角,我无法找到任何方法来覆盖。
不幸的是,在获得更多积分之前我无法发布图片。但我指的角落是当垂直和水平滚动条同时出现时,右下角有一个空间,填充了我无法覆盖的灰白色
I'm using custom Scrollbars we created using standard ControlTemplates, however when I apply them to a ListBox there is a corner in the bottom right which I am unable to find any way to override.
Unfortunately I can't post a picture until I get more points. But the corner I'm referring to is when both a vertical and horizontal scrollbar appear, there is a space in the bottom right that is filled with an off-white color that I am unable to ovrerride
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是我使用 Blend 为 ScrollViewer 获得的模板代码的一部分。我在右下角添加了一个矩形并将填充设置为红色。您可以以相同的方式设置其样式,也可以使用 Grid.RowSpan="2" 表示 VerticalScrollBar(第一个)或 Grid.ColumnSpan="2" 表示 HorizontalScrollBar(第二个)来扩展其中一个 ScrollBar 以覆盖空间。
this is the part of the template code i got for ScrollViewer using Blend. I added a Rectangle in the bottom right corner and set the Fill to Red. You can style it in the same way or you can expand one of the ScrollBar to cover the space using Grid.RowSpan="2" for VerticalScrollBar(first one) or Grid.ColumnSpan="2" for HorizontalScrollBar(second one).
另外两个解决方案有效。
1) 矩形颜色是动态的,通过键“SystemColors.ControlBrushKey”。您可以以自定义样式或 ScrollViewer 控件(或其祖先之一)的资源覆盖此键。来源:MSDN 上的这个问题。
示例:
2) 设置(与上面相同的位置)具有“隐藏”可见性的
矩形
样式。 警告:如果矩形包含在控件的后代中,这将会产生副作用。Another two solutions work.
1) The rectangle colour's is dynamic, with the key "SystemColors.ControlBrushKey". You can override this key in a custom style, or the resources of the ScrollViewer control (or one of its ancestors). Source: this question on MSDN.
Example :
2) Set (same places as above) the style of
Rectangle
with a "Hidden" visibility. Warning: this will have side-effetcs if rectangles are contained within the control's descendants.有两件事可能会有所帮助:
1)使用 Snoop 探索应用程序的元素树,这可能会有所帮助找到问题所在。
2) 根据您启动控件的方式,您可能会考虑从标准列表框的副本开始。当我从空模板或部分模板开始设计样式时,我发现某些控件存在问题。
希望有帮助
Two things that might help:
1) Use Snoop to explore the element tree of your application, this might help in finding the problem.
2) Depending on how you started your control, you might consider starting from a copy of the standard ListBox. I've found problems with certain controls when I start styling from an empty or partial template.
hope that helps