私はここで少し混乱しているので、助けてください。
私は単純なwpfアニメーションを持っています:
<DropShadowEffect Color="Transparent" ShadowDepth="0" Opacity="0.75" x:Key="Shiny" x:Shared="False"/>
<Storyboard x:Key="ShinyAnim" x:Shared="False">
<ColorAnimation From="Transparent" To="Red" Duration="0:0:1" Storyboard.TargetProperty="(Effect).Color" />
<DoubleAnimationUsingKeyFrames RepeatBehavior="Forever" Storyboard.TargetProperty="(Effect).BlurRadius" AutoReverse="True">
<DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="1"/>
<DiscreteDoubleKeyFrame KeyTime="0:0:0.15" Value="2"/>
<DiscreteDoubleKeyFrame KeyTime="0:0:0.3" Value="3"/>
<DiscreteDoubleKeyFrame KeyTime="0:0:0.45" Value="4"/>
<DiscreteDoubleKeyFrame KeyTime="0:0:0.6" Value="5"/>
<DiscreteDoubleKeyFrame KeyTime="0:0:0.75" Value="6"/>
<DiscreteDoubleKeyFrame KeyTime="0:0:0.9" Value="7"/>
<DiscreteDoubleKeyFrame KeyTime="0:0:1.05" Value="8"/>
<DiscreteDoubleKeyFrame KeyTime="0:0:1.2" Value="9"/>
<DiscreteDoubleKeyFrame KeyTime="0:0:1.35" Value="10"/>
<DiscreteDoubleKeyFrame KeyTime="0:0:1.5" Value="11"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
<Style x:Key="AnimShape" TargetType="Shape">
<Setter Property="Stroke" Value="DarkGray"/>
<Setter Property="Effect" Value="{StaticResource Shiny}/>
<Style.Triggers>
<DataTrigger Binding="{Binding HasChannelWarnings}" Value="True">
<Setter Property="Stroke" Value="Red"/>
<DataTrigger.EnterActions>
<BeginStoryboard x:Name="ChannelAnim" Storyboard="{StaticResource ShinyAnim}"/>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<RemoveStoryboard BeginStoryboardName="ChannelAnim"/>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
このスタイルでコントロールをロードすると、HasChannelWarnings==false - すべて正常に動作します: プロパティが変更されると、光沢のあるアニメーションが表示されます。ただし、コントロールをロードすると、HasChannelWarnings==true のときにエラーが発生します。
プロパティ パス '(Effect).Color' 内のすべてのプロパティ参照を解決できません。該当するオブジェクトがプロパティをサポートしていることを確認してください。
何が起こっているのか説明してもらえますか? トリガーはエフェクトセッターの前に発火しますか? もしそうなら、このアニメーションを適切に適用する方法は?