首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设计AvalonEdit ScrollBars的样式

如何设计AvalonEdit ScrollBars的样式
EN

Stack Overflow用户
提问于 2015-03-20 20:09:35
回答 1查看 1K关注 0票数 2

我正在尝试更改AvalonEdit中滚动条的拇指颜色。我尝试过许多方法:

风格的ScrollViewer -很多的例子,但我不能让他们中的大多数编译,当我这样做,他们不工作。

使用FindTemplate并在运行时更改拇指颜色。在许多情况下,但不是所有情况下都有效。

我只想改变拇指颜色。来吧,扔一块骨头给我。

请有人把我从痛苦中解脱出来,告诉我怎么做。

后续行动:

通过改变默认的拇指样式,我能够得到我想要的大部分东西:

代码语言:javascript
复制
<UserControl.Resources>
    <Style x:Key="{x:Type Thumb}"
           TargetType="{x:Type Thumb}">
    <Setter Property="Opacity" Value="0.1" />
    </Style>
</UserControl.Resources>

但是,如果我尝试向此样式添加控件模板,则不会产生任何效果。每次我觉得自己了解WPF的造型时,总会发生一些事情让我相信我什么都不知道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-23 06:46:03

基于此页面:msdn

你可以这样做:

代码语言:javascript
复制
<Style TargetType="{x:Type Thumb}"  x:Key="ScrollBarThumb">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Thumb}">
                    <Border CornerRadius="2"
                            Background="Black"
                            BorderBrush="Red"
                            BorderThickness="1" />
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

<Style TargetType="ScrollBar">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ScrollBar}">
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition MaxHeight="18" />
                            <RowDefinition Height="0.00001*" />
                            <RowDefinition MaxHeight="18" />
                        </Grid.RowDefinitions>
                        <Border Grid.RowSpan="3" />
                        <RepeatButton Grid.Row="0"
                                      Command="ScrollBar.LineUpCommand"
                                      Content="M 0 4 L 8 4 L 4 0 Z" />
                        <Track x:Name="PART_Track" Grid.Row="1" IsDirectionReversed="true">
                            <Track.Thumb>
                                <Thumb Style="{StaticResource ScrollBarThumb}" Margin="1,0,1,0"/>
                            </Track.Thumb>
                        </Track>
                        <RepeatButton Grid.Row="3"
                                      Command="ScrollBar.LineDownCommand"
                                      Content="M 0 0 L 4 4 L 8 0 Z" />
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29175018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档