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

时间:2010-03-04 00:52:29

标签: wpf mvvm binding triggers datatrigger

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

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

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

您是否有建议如何从架构pov解决这个问题?也许我已经走错了路看错了道路,看看明显的解决方案。

非常感谢, Hinnerk

1 个答案:

答案 0 :(得分:3)

您可以使用DataTriggerStoryBoard来完成此操作。

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