【发布时间】:2016-10-11 04:45:44
【问题描述】:
我的 NoOneCares 模型有一个 DateTemplate,它是一个简单的路径。
现在,当触发 DataTrigger 时,我希望我的路径闪烁 3 次(故事板、Path.Fill 上的 ColorAnimation)。
每次触发 DataTrigger 时,下面的示例都会崩溃:
System.InvalidOperationException:无法在不可变对象实例上为“(0).(1)”设置动画。
但是当我直接设置 Fill 属性 Fill="Red"(而不是使用 ValueConverter)时,它可以完美运行。
为什么会这样?我仍然需要该转换器将填充设置为正确的颜色:/
<DataTemplate DataType ="{x:Type models:NoOneCares}">
<Path Stroke="White" Data="M 5,15 L5,10 L10,0 L 0,0 L 5,10" >
<Path.Fill>
<MultiBinding Converter="{StaticResource colorConverter}">
<Binding Path="NoOneCares"></Binding>
<Binding Path="NoOneCares"></Binding>
</MultiBinding>
</Path.Fill>
<Path.Style>
<Style TargetType="Path">
<Style.Triggers>
<DataTrigger Binding="{Binding AnimationTrigger}" Value="{StaticResource numberTest}">
<DataTrigger.EnterActions>
<BeginStoryboard Name="fsadf">
<Storyboard>
<ColorAnimationUsingKeyFrames AutoReverse="True" RepeatBehavior="3x" Storyboard.TargetProperty="(Path.Fill).(SolidColorBrush.Color)">
<LinearColorKeyFrame KeyTime="0:0:0.3"
Value="White"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Path.Style>
</Path>
</DataTemplate>
【问题讨论】: