カスタムWPF RepeatButtonのデフォルトのホバー効果を保持する方法
-
29-10-2019 - |
質問
カスタムWPFコントロールを作成すると、通常、通常のデフォルトの外観と効果を保持します。たとえば、これにはボタン上のデフォルトの青いホバーが含まれます。
スクロール可能なタブを使用してカスタムタブコントロールを作成しました。なんらかの理由で、両側の反復ボタン(つまり、左右のスクロール矢印)にはホバー効果がありません。コントロールのために独自のホバーエフェクトを作成する方法を教えてくれるいくつかのチュートリアルを見つけましたが、残念ながらこれらの例は背景を異なる色に置き換えるだけです(そして、これは、基礎となる背景を保ちながら透明な青でフェードするアニメーションを持つこととは非常に異なって見えます)。どうすればこのホバー効果を得ることができますか?標準のホバー効果にアクセスできる方法はありますか(ストーリーボードでしょうか?)?
編集: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>
解決
このような問題を攻撃する最良の方法は、式ブレンドを起動し、スタイルをコピーしたいコントロールの「テンプレートの編集」を実行することです。 Scrollbarでこれを行うと、デフォルトのスタイルが何をするかを正確に示し、関連するビットをカスタムコントロールスタイルにコピーできます。
所属していません StackOverflow