VisualStateManager应该用于什么?

时间:2011-12-21 19:55:21

标签: c# silverlight xaml

我有非常简单的场景(MVVM)

DataTemplate视觉效果应根据我绑定的数据进行更改。假设基于某些数据,我希望背景为RedGreen

一方面,它似乎有2种不同的视觉状态“有效”和“无效”。但是,我无法弄清楚如何正确绑定到VisualState。我在网上找到了如何使用代码执行此操作的示例,但我不确定它是否会破坏目的。

另一种方法是编写Value Converter并将颜色直接绑定到我的对象中的值,这似乎是直截了当的方式。并且不需要可视模板。

你怎么看?我应该在哪里使用Visual States以及我应该在哪里使用绑定转换器?

1 个答案:

答案 0 :(得分:0)

正如VisualStateManger所暗示的那样,VSM用于显示视觉状态。使用VSM只是让事情变得更容易的一种方法。在刚刚更换颜色的情况下,转换器就足够了,而VSM也可以使用。在某些情况下,VSM提供了更多功能。看看http://windowsclient.net/wpf/wpf35/wpf-35sp1-toolkit-visual-state-manager-overview.aspx。所以,这取决于要求。您能否向我们提供有关您的问题的更多信息以及您想要做什么?