Как сохранить эффект наведения по умолчанию для моего пользовательского WPF RepeatButton

Когда я создаю пользовательский элемент управления WPF, я обычно сохраняю обычный внешний вид и эффекты по умолчанию. Например, это включает в себя синий указатель по умолчанию над кнопкой.

Я создал пользовательский TabControl с прокручиваемыми вкладками. По любой причине, кнопка RepeatButton на каждой стороне (то есть стрелки влево и вправо) не имеет эффекта наведения. Я нашел несколько учебных пособий, в которых рассказывается, как создать собственный эффект наведения для элементов управления, но, к сожалению, эти примеры просто заменяют фон другим цветом (и это выглядит совсем не так, как анимация, которая исчезает в прозрачном синем при сохранении основного фона).). Как я могу получить этот эффект парения? Есть ли способ получить доступ к стандартному эффекту наведения (это может быть раскадровка?)?

Изменить: я только что обнаружил, что если я удаляю пользовательский стиль, который я надел на RepeatButton, я получаю эффект наведения по умолчанию. Возможно, тогда возникает вопрос: как я уничтожил эффект парения и как я могу слегка изменить внешний вид, не разрушая его? Ниже представлен стиль, который скрывал эффект парения.

                        <Style x:Key="TabScrollerRepeatButtonStyle" TargetType="{x:Type RepeatButton}">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate>
                                    <Border x:Name="testTest" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Margin="1,0" CornerRadius="2">
                                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Content="{TemplateBinding ContentControl.Content}"/>
                                    </Border>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>

1 ответ

Решение

Лучший способ атаковать подобные проблемы - запустить Expression Blend и сделать "Edit Template" для элемента управления, из которого вы хотите скопировать стили. Выполнение этого для полосы прокрутки покажет вам, что именно делает стиль по умолчанию, и затем вы сможете скопировать соответствующие биты в свой собственный стиль управления.

Другие вопросы по тегам