2016-05-24 50 views
0

我有一个数以千计的项目绑定到它的组合框。如何在UWP中的ScrollViewer中设置滚动条的宽度?

我面临的问题是,当我在平板电脑上运行应用程序时,scrollviewer的滚动条非常薄,因此我无法保持并拖动它,只能滑动移动到ComboBox中。 enter image description here

因此,我想知道是否有一种方法来改变组合框内的ScrollViewer的样式模板,以使ScrollBar宽度变大。

回答

1

你必须在挖的风格模板,并改变一些硬的属性集为坐在像Thumb的部分,你会发现在default style templateWidth/Height。您可以通过选择滚动条 - >右键单击 - >编辑样式 - >编辑副本来提取副本。如果您打算将它复制到多个位置或需要它的实例,请将其保存到需要的位置,如资源字典。

(注:一般人在ScrollViewer中级别开始,然后找一个滚动条在里面,并应用该样式的变化有这样他们就可以直接申请的风格ScrollViewers)

一旦你有你的所做的更改控制模板,然后您需要将它们传递到您的ComboBox。如果您只需要一个ComboBox,您可以将样式模板放入其Resources中,并删除您给它的名称x:Key,以便通过为该ComboBox继承而击中TargetType的实例。

但是,如果您想让它击中每一个ComboBox,那么您需要编辑ComboBox style template并添加对刚嵌入ScrollViewer的样式模板的引用。

你会发现像WPF/Silverlight这样的东西很长的教程几乎相同的概念,但在模板和属性的语法细微差异。

希望这有帮助,给它一个镜头,如果你卡住回来,我们会让你排序。

+0

我通过编辑样式模板的宽度来增加滚动条,就像你所建议的那样,但现在的问题是我无法保持滚动条和拖动平板电脑(基于触摸的设备),这是我的主要意图。有没有解决方案? – AbsoluteSith

+0

@AbsoluteSith如果字面上你所做的只是改变宽度,那绝对不应该是这样。您通常必须为ScrollViewer提供背景=“透明”或刷子颜色才能为查看器激活HitTestVisibility,因为UWP更基于Silverlight本身,如果这就是您实际所指的内容? –

+0

是的,我所做的只是改变了滚动条的宽度,它在使用鼠标的桌面上运行良好,但在平板电脑显示滚动条的情况下却完全忽略了触摸。我会尝试检查是否可以查看观看者的HitTestVisibility。 – AbsoluteSith

相关问题