WPF:当 MVVM 绑定属性更改时激活触发器

2024-02-18

不知怎的,我在这里兜圈子。如果这个问题的答案是显而易见的,请原谅我。

我想对视图中 ViewModel 中更改的属性做出反应。当属性(bool)更改时,视图应该启动动画(BeginStoryBoard)。 实际上,在我的应用程序中,有 4 个这样的属性,每个属性在虚拟机中都有自己的名称,并且每个属性都有两个所需的动画(隐藏/显示),分别用于 4 个容器视图元素。

当直接在相应的容器元素(所有这些元素都是从 ContentConrol 派生的自定义类型 SizerControl)中设置这些触发器(尝试过 DataTrigger/Trigger/EventTrigger)时,wpf 给了我建议使用样式的错误。当直接在容器元素中设置样式时,我得到:“XML 命名空间中不存在标签‘Style.Triggers’......” 但是,当在全局 ResourceDictionary 中使用样式时,我不知道如何绑定到 4 个容器来获取触发器的“输入”值。

您对如何从架构角度解决这个问题有什么建议吗?也许我已经在错误的道路上走得太远,看不到明显的解决方案。

非常感谢, 欣纳克


你可以用数据触发 http://msdn.microsoft.com/en-us/library/system.windows.datatrigger.aspx and a 故事板 http://msdn.microsoft.com/en-us/library/system.windows.media.animation.storyboard.aspx.

MSDN 有一个完整的示例,描述了该过程,并包含代码,记录在如何:数据更改时触发动画 http://msdn.microsoft.com/en-us/library/aa970679(v=vs.90).aspx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF:当 MVVM 绑定属性更改时激活触发器 的相关文章

随机推荐