2012-05-21 30 views
2

,我有一个ScrollViewer。我想改变滚动查看器的垂直滚动条的宽度,使其更薄一些。我已经寻找一个简单的解决方案,但我不需要/想要重新整个滚动条。 我在想是这样的:在我的Silverlight 4应用程序中更改垂直滚动条的宽度

MyScrollViewer.VerticalScrollbar.Width = 8; 

但有没有这样的属性。任何想法,如何使滚动条更薄?

由于提前,
弗兰克

回答

3

没有得到ScrollViewer中的垂直滚动条没有直接的方法。 下面的代码将会从中提取的VisualTree垂直滚动条,你可以做的“滚动条”

ScrollBar vertical = ((FrameworkElement)VisualTreeHelper.GetChild(scrollviewer1, 0)).FindName("VerticalScrollBar") as ScrollBar; 
+0

谢谢VAIBHAV!现在我有了滚动条,但改变宽度属性只能使栏变宽。看起来在滚动条控件中有一些最小宽度。我想我需要重新模板来解决这个问题:/ – Aaginor

+0

嗯!但为什么你需要使滚动条更薄?如果你不想显示它,你可以设置'VerticalScrollBarVisibility'为'隐藏' – vaibhav

+0

对于我当前项目的设计(我不负责设计,我只是“实现它”),我需要一个更薄的滚动条,因为这会更好地适应设计。 – Aaginor

0

还有一个属性调用MinWidth的性能的变化。 如果您设置了该属性,则宽度将会减小。

试试这个:

ScrollBar vertical = ((FrameworkElement)VisualTreeHelper.GetChild(scrollViewer1, 0)).FindName("VerticalScrollBar") as ScrollBar; 
vertical.MinWidth = 8; 
vertical.Width = 8;