如何实现Multi-DataTriggerBehavior?
我已经有一个DataTriggerBehavior了。但我需要一个基于事件和多个条件的触发器。
答案 0 :(得分:0)
我建议您创建自己的Behavior
来处理此问题。
这些是可能解决方案的步骤。
因为您需要以某种方式调用VisualState
代码中的Behavior
,您必须将xaml中定义的VisualStateManager
更改为{ {1}}(请参阅此post中的实施内容),因为内置的ExtendedVisualStateManager
VisualStateManager
方法不接受GoToState
作为其参数。
创建Grid
并将其附加到正确的Behavior
。我假设您想要在Control
的事件被引发时执行某些操作。因此,您需要在Control
代码隐藏中为此创建处理程序。
创建依赖项属性,映射视图模型中定义的属性,并订阅其所有属性已更改Behavior
。您可能需要本地标志来判断是否所有这些都已更新。如果是,请在事件处理程序中调用callbacks
。请注意,您可能还需要创建一个依赖项属性来引用您的ExtendedVisualStateManager.GoToElementState
和其他一些人来映射您的Grid
名称。
将VisualState
附加到xaml中的Behavior
并对其所有依赖项属性进行数据绑定。
希望这是有道理的。