在多个目标上开始故事板

时间:2009-10-02 16:07:56

标签: wpf silverlight animation listbox storyboard

我有一个子类ListBox,其SelectedItemChanging依赖项属性设置为Storyboard。更改所选项目后,我想对Storyboard中的每个项目运行此ListBox

如何使用Storyboard的单个实例?

2 个答案:

答案 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解决方案。