从XAML启动VisualState转换

时间:2011-07-28 16:25:39

标签: c# wpf xaml visualstatemanager

在用户控件(或其他)中,我们都知道可以在代码中使用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,它可以提供与上面列出的代码等效的行为?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

使用Blend SDK中的Interativity我相信你可以做这样的事情。

修改:它专门包含GoToStateAction

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