在 ScrollViewer wpf 中更改 ScrollBar 的背景颜色

Posted

技术标签:

【中文标题】在 ScrollViewer wpf 中更改 ScrollBar 的背景颜色【英文标题】:Change background color of ScrollBar in ScrollViewer wpf 【发布时间】:2011-09-25 13:06:14 【问题描述】:

我知道如何更改滚动条的背景颜色:

<ScrollBar Height="27" Margin="36,96,12,0" Name="scrollBar1" Background="Red"></ScrollBar>

这是我的红色背景图片:

如何使用 ScrollViewer 做同样的事情?我的 ScrollViewer 中有一个网格,如果我更改 ScrollViewer 的属性,它似乎会更改网格内内容的属性。

<ScrollViewer>


    <Grid Name="Parent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
             ....
             ....
             ... etc

产生:

左侧是我的名为 Parent 的网格的内容。如何在这个 ScrollViewer 上放置一个红色背景?

【问题讨论】:

【参考方案1】:
<Window.Resources>
    <Style TargetType="ScrollBar">
        <Setter Property="Background" Value="White"/>
    </Style>
</Window.Resources>

在上面的代码中,程序员可以给出他/她想要设置的任何颜色值。 例如,我将滚动条的背景颜色设置为白色。

【讨论】:

【参考方案2】:

将 ScrollViewer 样式设置为您单独构建的样式。这里有两个链接,作者首先创建了一个样式,然后将所述样式应用于 wpf 控件:

http://www.codeproject.com/Articles/37366/Styling-A-ScrollViewer-Scrollbar-In-WPF.aspx

http://www.eggheadcafe.com/tutorials/aspnet/f51ddf8c-5227-4f1b-a5df-ec3d1b3439ca/styling-the-wpf-scrollviewer.aspx

【讨论】:

以上是关于在 ScrollViewer wpf 中更改 ScrollBar 的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

WPF 文本框和滚动行为

如何增加 WPF ScrollViewer 中的滚动条宽度?

WPF 从 TreeView 中删除 ScrollViewer

WPF: 实现 ScrollViewer 滚动到指定控件处

WPF: 实现 ScrollViewer 滚动到指定控件处

使用 WrapPanel 和 ScrollViewer 在 WPF 中提供多列列表框