Sea*_*ean 4 wpf animation xaml user-controls stackpanel
我有以下XAML:
<UserControl.Resources>
<SolidColorBrush x:Key="Brush"></SolidColorBrush>
<Style TargetType="{x:Type StackPanel}" x:Key="ColourChangingStyle">
<Setter Property="Background" Value="{StaticResource Brush}" />
<Style.Triggers>
<DataTrigger Binding="{Binding Path='Stage'}" Value="1">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.Target="{StaticResource Brush}"
Storyboard.TargetProperty="Color" From="{StaticResource FirstColor}" To="{StaticResource FinishedColor}" Duration="0:0:10" BeginTime="0:0:0"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
<StackPanel x:Name="InfoPanel" Orientation="Vertical" Margin="1,2" Style="{DynamicResource ColourChangingStyle}">
...
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
我一直得到同样的错误:
无法在不可变对象实例上设置"颜色"动画
这是刷子.我查了一下这个问题,并认为这与将画笔绑定StackPanel到以后无法改变它有关.
有什么方法可以解决这个问题,我完全不知道我的其他相同效果的选项是没有硬编码颜色,并且在代码中执行所有事件.
看来你不能一个动画Brush中Resources有Storyboard.Target.但是你可以设置Background你的Style(你已经这样做了)并为这个属性设置动画.
<ColorAnimation Storyboard.TargetProperty="Background.Color"
From="{StaticResource FirstColor}"
To="{StaticResource FinishedColor}"
Duration="0:0:10" BeginTime="0:0:0" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4316 次 |
| 最近记录: |