gpt4 book ai didi

c# - WPF:使用数据触发器/ bool 值重新启动 Storyboard?

转载 作者:行者123 更新时间:2023-12-03 22:20:16 28 4
gpt4 key购买 nike

我有一个 DataTrigger,它根据 bool 值运行 Storyboard

<DataTrigger Binding="{Binding Path=IsValid}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
...
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>

因此,当 IsValid = true 时,我的 Storyboard就会运行。这工作正常。但问题是:当我的 IsValid = true 时,我希望我的 Storyboard重新运行。我的 IsValid 看起来像这样:

private bool _isValid = false;
public bool IsValid
{
set {
_isValid = value;
OnPropertyChanged("IsValid")
}
}

我知道我的 Storyboard必然是真实的,但是有没有办法重新启动该死的东西并让 Storyboard在每次我在 ViewModel 代码中使用 IsValid = true 时重新启动?

最佳答案

问题是你的 Storyboard永远不会停止。您需要为 BeginStoryboard 命名,并添加 ExitActions 部分:

<DataTrigger Binding="{Binding Path=IsValid}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Name="sb">
<Storyboard>
...
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<StopStoryboard BeginStoryboardName="sb" />
</DataTrigger.ExitActions>
</DataTrigger>

关于c# - WPF:使用数据触发器/ bool 值重新启动 Storyboard?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5237937/

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