0

カスタム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>
4

1 に答える 1

2

このような問題を攻撃する最善の方法は、Expression Blendを起動し、スタイルのコピー元のコントロールに対して「テンプレートの編集」を実行することです。スクロールバーに対してこれを行うと、デフォルトのスタイルが何をするかが正確に示され、関連するビットをカスタムコントロールスタイルにコピーできます。

于 2011-02-04T20:43:27.823 に答える