我目前正在使用MahApps.Metro来设置我的WPF控件的样式。当我向组件添加ScrollViewer时,使用了MahApps.Metro样式,但是虽然我喜欢这种样式,但滚动条的宽度(垂直)并不适合我的需要。有人可以建议一种方法来增加现有样式的宽度(来自库,尽管源代码可以在github上获得)?
我尝试过使用:
<Style TargetType="ScrollBar"><Setter Property="Width" Value="50"/></Style>
但它将MahApps.Metro样式恢复为WPF默认值,但使用较粗的滚动条。在此之后,我尝试使用:
<sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">100</sys:Double>
但似乎没有视觉效果。
答案 0 :(得分:4)
看起来他们的ScrollBar
样式会使用不同的资源键覆盖宽度和高度:
<Style.Triggers>
<Trigger Property="Orientation"
Value="Horizontal">
<Setter Property="Height"
Value="{DynamicResource MetroScrollBarHeight}" />
<!-- ... -->
</Trigger>
<Trigger Property="Orientation"
Value="Vertical">
<Setter Property="Width"
Value="{DynamicResource MetroScrollBarWidth}" />
<!-- ... -->
</Trigger>
</Style.Triggers>
尝试像以前一样放弃资源覆盖,但改为使用自定义资源键:
<sys:Double x:Key="MetroScrollBarWidth">100</sys:Double>
答案 1 :(得分:0)
以Mike Strobel's answer为基础,以及最好的复制粘贴传统,以下是我如何使用它......
<ScrollViewer
Name="scrlMain"
VerticalAlignment="Stretch"
CanContentScroll="True"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto" >
<ScrollViewer.Resources>
<system:Double x:Key="MetroScrollBarWidth">20</system:Double>
</ScrollViewer.Resources>