gpt4 book ai didi

WPF/Silverlight : How to DataTrigger a Storyboard Animation in MVVM?

转载 作者:行者123 更新时间:2023-12-04 13:29:14 28 4
gpt4 key购买 nike

我有一个名为 IsLoginWrong 的 bool 属性,如果 IsLoginWrong 为真,我想播放 Storyboard动画。 (IsLoginWrong 做了一个 OnPropertyChanged 事件,所以我知道绑定(bind)没问题)但是我很难使用语法。这甚至可能不对,但我认为数据触发器只能存在于 Styles 中......

<UserControl.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsLoginWrong}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource LoginWrong}"/>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</UserControl.Style>

但这会引发异常“样式中的 Storyboard 树无法指定 TargetName”......因为样式不能专门引用项目......太棒了。那么我该如何做我想做的事情呢? (如果 mvvm 中的 bool 值发生变化,则播放动画)

谢谢

最佳答案

在样式中,您不能引用 Storyboard 名称。所以我让它工作的方式是将你的 Storyboard推到实际的风格中:

<UserControl.Style>     
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsLoginWrong}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
.... PUT YOUR ACTUAL STORY BOARD IN HERE ...
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</UserControl.Style>

现在 DataTriggers可以放入样式或控件模板中,因此使用控件模板可能会有更好的方法。但这是我暂时想到的。

关于WPF/Silverlight : How to DataTrigger a Storyboard Animation in MVVM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5236432/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com