質問

カスタム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でこれを行うと、デフォルトのスタイルが何をするかを正確に示し、関連するビットをカスタムコントロールスタイルにコピーできます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top