私は、画像と4つのラベルを含むグリッドを含むボタン(またはButtonから派生したもの)を持っています。wpf style ColorAnimationUsingKeyFrames子要素をアニメ化する
条件付きでボタンをアニメーション化し、前景色と背景色を変更して点滅させたいとします。
これはバックグラウンドでは問題ありませんが、ラベルの前景ではうまく機能しません。
スタイル:
<Style x:Key="RequestButtonStyle" BasedOn="{StaticResource DefaultButtonStyle}" TargetType="local:CADButton">
<Style.Triggers>
<DataTrigger Binding="{Binding Priority}" Value="1">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard
RepeatBehavior="Forever"
Duration="0:0:1.5">
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(local:CADButton.Background).Color">
<DiscreteColorKeyFrame KeyTime="0:0:0" Value="{StaticResource EmergencyCallColor}"/>
<DiscreteColorKeyFrame KeyTime="0:0:0.75" Value="{StaticResource DefaultButtonBackgroundColor}"/>
</ColorAnimationUsingKeyFrames>
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)">
<DiscreteColorKeyFrame KeyTime="0:0:0" Value="{StaticResource DefaultButtonForegroundPressedColor}"/>
<DiscreteColorKeyFrame KeyTime="0:0:0.75" Value="{StaticResource DefaultButtonForegroundColor}"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
私はボタン内の任意のラベルをターゲットにするにはどうすればよいですか?
ラベルのフォアグラウンドをボタンのフォアグラウンドにバインドしようとしました(そして、私はちょうど "something.Foreground"ではなく "foreground"を設定しました)。それはある程度まで働いた。問題は、私はマウスオーバーで色を変えるラベル上のスタイルを持っているということです。これが完了すると、バインディングが上書きされ、点滅が停止します。
私は両方を試しました。これをボタンの前景色に合わせると、最初のMouseOverが働き、テキストも変更されました。 ラベルに「スタンドアロンスタイル」を作成したとき、最初のマウスオーバーでもアニメーションが停止しました – h607732
ボタンスタイルのラベルのプロパティを設定できないため、関連するすべてのXAMLマークアップとコードを含む問題の再現可能なサンプルを提供してくださいさらなる助けが必要な場合はスニペットを... – mm8