C# WPF-更改滚动条';使用样式设置文本框的边距

C# WPF-更改滚动条';使用样式设置文本框的边距,c#,wpf,wpf-style,C#,Wpf,Wpf Style,我为Scrollbar定义了一个隐式样式,并设置了一些属性,我将它用于大多数ScrollViewr。这种风格的一部分是: <Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}"> <Setter Property="Background" Value="#FF283542" /> <Setter Property="Margin" Value="0,-32,0

我为Scrollbar定义了一个隐式样式,并设置了一些属性,我将它用于大多数ScrollViewr。这种风格的一部分是:

<Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}">
        <Setter Property="Background" Value="#FF283542" />
        <Setter Property="Margin" Value="0,-32,0,0" />
        <Setter Property="Width" Value="5" />
</Style>

但我有一些文本框,我希望它们的滚动条具有相同的隐式滚动条样式,但有不同的边距

我可以通过向每个文本框添加资源并覆盖隐式滚动条样式来实现这一点,如:

    <TextBox Style="{StaticResource big-text-style}">
                        <TextBox.Resources>
                            <Style TargetType="{x:Type ScrollBar}" 
                                   BasedOn="{StaticResource {x:Type ScrollBar}}">
                                <Setter Property="Margin" Value="0"/>
                            </Style>
                        </TextBox.Resources>
    </TextBox>

这段代码提供了我想要的功能。但这种方法的问题是,我必须为每个文本框编写这些代码行!如果我能把它作为文本框样式本身的一部分,那就更好了

我想知道是否有一种方法可以将它放在文本框的样式中,以便每个具有大文本样式的文本框(例如)都具有覆盖的滚动条

还是有更好的方法来实现这种事情


谢谢你的帮助

您可以将覆盖的
滚动条
样式添加到
文本框
样式本身的
资源

<Style x:Key="big-text-style" TargetType="TextBox">
    <Style.Resources>
        <Style TargetType="{x:Type ScrollBar}" BasedOn="{StaticResource {x:Type ScrollBar}}">
            <Setter Property="Margin" Value="0"/>
        </Style>
    </Style.Resources>
</Style>


将其添加到文本框styleThnx中。我从来没有注意到我们可以为风格本身设置一些资源。成功了