【发布时间】:2016-03-06 17:53:13
【问题描述】:
我有一个 WPF 控件,我想根据包含 UserControl(名为“UserControl”)上定义的属性 IsInteracting 的值来制作动画。我在 UserControl 中定义了以下样式,在 UserControl 中也定义了针对 Grid 的动画。
<UserControl.Resources>
<Style TargetType="Grid">
<Setter Property="Opacity" Value="0" />
<Setter Property="Height" Value=""></Setter>
<Style.Triggers>
<Trigger Property="IsInteracting" Value="True" SourceName="UserControl">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimationUsingKeyFrames
Storyboard.Target="{Binding ElementName=ControlGrid}"
Storyboard.TargetProperty="Opacity"
>
<EasingDoubleKeyFrame KeyTime="0:0:0.1" Value="1"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.8" Value="1"/>
<EasingDoubleKeyFrame KeyTime="0:0:1.3" Value="0"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
这不起作用,因为无法识别名称“UserControl”。我认为存在范围问题会阻止引用样式之外的元素?
我该如何做我想做的事?
【问题讨论】: