我有一个子类ListBox
,其SelectedItemChanging
依赖项属性设置为Storyboard
。更改所选项目后,我想对Storyboard
中的每个项目运行此ListBox
。
如何使用Storyboard
的单个实例?
答案 0 :(得分:1)
故事板可以通过多个触发器进行键控和运行,只要设置正确,它就能很好地运行。如果我正确理解你,你希望将故事板应用于每个单独的ListBoxItem。在这种情况下,为什么不制作一种风格,并在该风格的触发器上,激发故事板。
请原谅我的伪代码。
<Storyboard x:Key="MyEnterStoryboard">
<!-- Do Enter Work -->
</Storyboard>
<Storyboard x:Key="MyExitStoryboard">
<!-- Do Exit Work -->
</Storyboard>
<Style TargetType="{x:Type ListBoxItem}">
<Style.Triggers>
<Trigger Property="SelectedItemChanging" Value="True">
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource MyEnterStoryboard}"/>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource MyExitStoryboard}"/>
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
</Style>
答案 1 :(得分:1)
WPF故事板有一个Clone method。 Silverlight没有这个,但我认为我会发布它以防万一有人偶然发现这个帖子寻找WPF解决方案。