从XAML启动VisualState转换

在用户控件(或其他)中,我们都知道可以在代码中使用VisualStateManger来启动转换或动画,如下所示:

if (target.IsLocked) { VisualStateManager.GoToState(this, "Locked", true); } else if (target.IsBroken) { VisualStateManager.GoToState(this, "Broken", true); } else { VisualStateManager.GoToState(this, "Normal", true); } 

但是,似乎很少或没有关于从XAML触发这些类型的动画的信息。 是否可以定义DataTemplate或Trigger,它们可以提供与上面列出的代码等效的行为?

使用Blend SDK的交互性我相信你可以做这样的事情。

编辑:它包含专门为此的GoToStateAction

还有像Markup Programming这样的其他库可以做类似的事情。 它还表明,如果你愿意,你可以在XAML中做很多事情。

将数据触发器与gotstateaction行为一起使用