WPF修改列表框滚动条外观 [英] WPF modify listbox scrollbar apperance

查看:86
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆