2011-12-21 5 views
0

У меня довольно простой сценарий (MVVM)Для чего нужен VisualStateManager?

DataTemplate визуальные эффекты должны меняться в зависимости от данных, на которые я привязываюсь. Предположим, что на основании некоторых данных я хочу, чтобы фон был Red или Green

С одной стороны это похоже на два разных визуальных состояния: «Действительные» и «Недействительные». Однако я не могу понять, как правильно привязываться к VisualState. Я нахожу примеры онлайн, как это сделать с кодом, но я не уверен, что это побеждает цель.

Другим способом написать конвертер значений и привязать цвет непосредственно к значению в моем объекте, который кажется простым способом. И никаких визуальных шаблонов не требуется.

Как вы думаете? Где я должен использовать Visual State и где я должен использовать привязку к конвертерам?

ответ

0

Как следует из названия VisualStateManger, VSM используется для отображения визуального состояния. Использовать VSM - это просто способ облегчить ситуацию. В случае только что замененного цвета, конвертер является достаточным, тогда как VSM также может использоваться. В некоторых сценариях VSM предоставляет больше возможностей. Посмотрите здесь http://windowsclient.net/wpf/wpf35/wpf-35sp1-toolkit-visual-state-manager-overview.aspx. Таким образом, это зависит от требований. Не могли бы вы дать нам больше информации о вашей проблеме и что именно вы хотите сделать?

Смежные вопросы