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

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

Я создал пользовательский TabControl с прокручиваемыми вкладками.По любой причине, кнопка 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 Ответ

2 голосов
/ 04 февраля 2011

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

...