首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WPF 4 ControlStoryboardAction触发器的行为是什么?

WPF 4 ControlStoryboardAction触发器的行为是什么?
EN

Stack Overflow用户
提问于 2010-04-23 02:52:15
回答 1查看 1K关注 0票数 2

我有个问题困扰我一段时间了:

我有一个冗长的IO操作,我异步调用它,我希望UI显示一个闪烁的文本,告诉用户数据正在加载。

我的IsLoading布尔属性位于ViewModel中,我使用ControlStoryboardAction启动闪烁动画,该动画设置为永久重复。对于我的ControlStoryboardAction触发器,我配置了一个数据触发器,以查看IsLoading是否为真,如果为真,则启动我的故事板。

我的问题是,当IO操作返回,并将IsLoading设置为false时,动画将继续播放。我以为一旦触发条件评估为假,它会停止动画吗?

然后,我添加了第二个ControlStoryboardAction,如果IsLoading计算为false,则停止动画,但这没有任何效果。动画继续播放后,IsLoading是假的。

有人能向我解释一下触发器在ControlStoryboardAction中是如何工作的吗?在WPF中的常规数据触发器中,一旦将条件计算为false,则属性将被设置为其原始状态。WPF动作中的触发器似乎不一样吗?

EN

回答 1

Stack Overflow用户

发布于 2014-12-17 18:52:26

一般来说,当指定的条件不再为真时,DataTrigger会将属性返回到以前的值。

然而,行动却并非如此。假设甚至存在这样的操作,触发器就无法知道什么操作会“撤消”触发操作的效果。

我认为您要做的是在相反的条件下定义另一个触发器(例如,在IsLoading上使用布尔型而不是转换器,添加一个IsNotLoading属性等等)。运行“停止”ControlStoryboardAction

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2695891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档