3

不知何故,我在这里绕圈子。如果这个问题的答案很明显,请原谅我。

我想对 View 中 ViewModel 中更改的属性做出反应。当属性(布尔)改变时,视图应该开始一个动画(BeginStoryBoard)。实际上,在我的应用程序中,这些属性中有 4 个,每个属性在 VM 中都有自己的名称,并且每个对应的 4 个容器视图元素都有两个所需的动画(隐藏/显示)。

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

您对如何从架构 pov 解决这个问题有什么建议吗?也许我已经走得太远了,看不到明显的解决方案。

非常感谢,欣纳克

4

1 回答 1

3

您可以使用DataTriggerStoryBoard来做到这一点。

MSDN 有一个完整的示例描述该过程,并带有代码,记录在How to: Trigger an Animation When Data Changes中。

于 2010-03-04T01:21:26.837 回答