WPF修改列表框滚动条外观 [英] WPF modify listbox scrollbar apperance
本文介绍了WPF修改列表框滚动条外观的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想改变列表框'滚动条的样式。
如何将列表框的滚动条修改为白色和透明背景?
如果可能的话提供一些例子。
谢谢,
i want to change the style of listbox''s scrollbar.
how do i modify listbox''s scrollbar to white color and transparency background?
if possible provide some example.
Thanks,
推荐答案
我自己找到了解决方案
i found solution myself
<style x:key="ScrollThumbs" targettype="{x:Type Thumb}" xmlns:x="#unknown">
<setter property="Stylus.IsFlicksEnabled" value="false"></setter>
<setter property="Foreground" value="#8C8C8C"></setter>
<setter property="Background" value="Transparent"></setter>
<setter property="Width" value="8"></setter>
<setter property="Template">
<setter.value>
<controltemplate targettype="{x:Type ScrollBar}">
<grid x:name="GridRoot" width="15" background="{TemplateBinding Background}">
<grid.rowdefinitions>
<rowdefinition height="0.00001*"></rowdefinition>
</grid.rowdefinitions>
<track x:name="PART_Track" grid.row="0" isdirectionreversed="true" focusable="false">
<track.thumb>
<thumb x:name="Thumb" background="{TemplateBinding Foreground}" style="{DynamicResource ScrollThumbs}"></thumb>
</track.thumb>
<track.increaserepeatbutton>
<repeatbutton x:name="PageUp" command="ScrollBar.PageDownCommand" opacity="0" focusable="false"></repeatbutton>
</track.increaserepeatbutton>
<track.decreaserepeatbutton>
<repeatbutton x:name="PageDown" command="ScrollBar.PageUpCommand" opacity="0" focusable="false"></repeatbutton>
</track.decreaserepeatbutton>
</track>
</grid>
<controltemplate.triggers>
<trigger sourcename="Thumb" property="IsMouseOver" value="true">
<setter value="{DynamicResource ButtonSelectBrush}" targetname="Thumb" property="Background"></setter>
</trigger>
<trigger sourcename="Thumb" property="IsDragging" value="true">
<setter value="{DynamicResource DarkBrush}" targetname="Thumb" property="Background"></setter>
</trigger>
<trigger property="IsEnabled" value="false">
<setter targetname="Thumb" property="Visibility" value="Collapsed"></setter>
</trigger>
<trigger property="Orientation" value="Horizontal">
<setter targetname="GridRoot" property="LayoutTransform">
<setter.value>
<rotatetransform angle="-90"></rotatetransform>
</setter.value>
</setter>
<setter targetname="PART_Track" property="LayoutTransform">
<setter.value>
<rotatetransform angle="-90"></rotatetransform>
</setter.value>
</setter>
<setter property="Width" value="Auto"></setter>
<setter property="Height" value="8"></setter>
<setter targetname="Thumb" property="Tag" value="Horizontal"></setter>
<setter targetname="PageDown" property="Command" value="ScrollBar.PageLeftCommand"></setter>
<setter targetname="PageUp" property="Command" value="ScrollBar.PageRightCommand"></setter>
</trigger>
</controltemplate.triggers>
</controltemplate>
</setter.value>
</setter>
</style>
这篇关于WPF修改列表框滚动条外观的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文