WPF故事板触发属性已更改

Pet*_*ter 3 wpf triggers storyboard

我有一个DataTemplate,用于实现INotifyPropertyChanged的类.是否有任何方法可以在属性更改时触发故事板,并在不同的值上触发不同的故事板(在这种情况下是bool)?

是否有任何方法可以在启动时触发故事板,具体取决于为数据模板制作的类的值?

Jos*_*h G 6

是的,你可以这样做.

添加DataTrigger并绑定到相应的属性.这是一个例子:

<DataTemplate.Triggers>
    <DataTrigger Binding="{Binding Path=MyProperty}" Value="True">
        <BeginStoryboard Storyboard="{StaticResource myStoryboard}"/>
    </DataTrigger>
</DataTemplate.Triggers>
Run Code Online (Sandbox Code Playgroud)

您可以设置值以测试您想要的任何内容.因此,您可以将故事板设置为在值变为false时开始.您可以根据需要添加任意数量的DataTriggers(或其他触发器).

请注意,在我的示例中,我引用了一个虚拟属性和故事板.

当属性更改时,绑定将更新并因为数据绑定而触发触发器.

这种技术也应该在启动时起作用.

  • 我们在xaml中添加了这个吗? (2认同)
  • 对我来说,“&lt;BeginStoryboard ..”元素在“&lt;DataTrigger ...”元素中不被接受:_“BeginStoryboard”类型的值不能分配给“SetterBaseCollection”类型的集合或字典_(免费翻译)。为什么是这样? (2认同)