WPF模板:触发器和VisualStateManager的区别

7
我想知道触发器和VisualStateManager之间的区别。我正在为ComboBox设计模板,在官方MSDN网站上(http://msdn.microsoft.com/en-us/library/ms752094.aspx),他们使用VisualStateManager来更改所选comboboxitem的颜色。但是,您也可以使用触发器完成相同的操作。
它们之间有什么区别吗?例如,VisualStateManager会更快还是其他原因。我想知道哪个更好用。

我对模板设计并不熟悉,所以我现在可以使用触发器(我理解),但是VisualStateManager和某些storyboard对我来说是未知的。


1
最初,VisualStateManager是包含在Silverlight中的,后来才添加到WPF中。这里有一个很好的解释不同的哲学:http://hestia.typepad.com/flatlander/2008/06/why-the-silverl.html,以及这里...http://blogs.msdn.com/b/wpfsdk/archive/2009/02/27/the-visualstatemanager-and-triggers.aspx。对于“新手”来说,在Expression Blend中使用VSM和状态可能更容易跟踪和设计。 - Colin Smith
功能相同吗? - tomdelahaba
1个回答

0
由于我们的编程世界试图在人们之间分离关注点,因此我们可以得出结论:VisualStateManager是一个非常有用的工具,可以清晰地分离责任。
有明确的责任分工:控件作者指定控件的视觉状态,并确定控件何时进入每个视觉状态;模板作者指定每个视觉状态下控件的外观。 请参阅本文

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接