WPF, как настроить большой палец и кнопку повтора вертикальной прокрутки RichTextBox

#wpf

Вопрос:

У меня есть RichTextBox с вертикальной полосой прокрутки через VerticalScrollBarVisibility="Visible" . Стилизация самой полосы прокрутки работает нормально, как я и ожидал, со следующим внутри <RichTextBox.Resources>

 <Style TargetType="{x:Type ScrollBar}">
    <Setter Property="Margin" Value="2"/>
    <Setter Property="Background" Value="{DynamicResource steam2004ControlLight}"/>
    <Setter Property="BorderBrush" Value="{DynamicResource steam2004BorderBright}"/>
</Style>
 

Попытка стилизовать Большой палец и кнопку повтора аналогичным образом, однако, оказалась неэффективной.

 <Style TargetType="{x:Type Thumb}">
    <Setter Property="Margin" Value="2"/>
    <Setter Property="Background" Value="{DynamicResource steam2004ControlLight}"/>
    <Setter Property="BorderBrush" Value="{DynamicResource steam2004BorderBright}"/>
</Style>
<Style TargetType="{x:Type RepeatButton}">
    <Setter Property="Margin" Value="2"/>
    <Setter Property="Background" Value="{DynamicResource steam2004ControlLight}"/>
   <Setter Property="BorderBrush" Value="{DynamicResource steam2004BorderBright}"/>
</Style>
 

Теперь обратите внимание, что я всего около двух дней обдумываю WPF, так что, если мой подход полностью провален, вот почему 😀
Любое понимание будет оценено по достоинству.

Комментарии:

1. Ваш подход не работает, если для свойства элемента управления задан определенный именованный стиль Style . Вам нужно вникнуть в то, какой стиль на самом деле применяется к ScrollBar тому RichTextBox или иному .

2. Думаю, вам нужно будет заново создать шаблон полосы прокрутки, потому что в нем уже есть шаблон, который будет задавать стили. Вот шаблон для полосы прокрутки: docs.microsoft.com/en-us/dotnet/desktop/wpf/controls/…

3. Если только вы не объедините соответствующие именованные кисти в качестве ресурсов, чтобы переопределить используемые. Хотя это будет иметь побочные эффекты.