Вопрос

У меня есть текстовый блок, привязанный к свойству в моей модели представления.У меня есть раскадровка, в которой текст вводится и исчезает, используя свойство Opacity .Я использую этот текст, чтобы оставить отзыв пользователю после того, как он выполнил операцию (успех, ошибка и т.д.).Как я могу запустить раскадровку, когда свойство изменяется в моей модели представления?Есть ли лучший способ добиться такого эффекта?

Это было полезно?

Решение

Извини, мне неприятно тебе это говорить, но ты думаешь об этом неправильно.

Не думайте о свойствах раскадровки, непрозрачности и видимости.Всегда думайте о "Визуальных состояниях".

То, что вы только что описали (затухание в текстовом блоке в ответ на некоторые изменения бизнес-логики), является идеальным случаем для использования состояний VisualStateManager.

По сути, в итоге у вас будет группа состояний "Is", которая будет иметь одно состояние для того, когда условие выполнено (некоторое состояние достигнуто), и другое для того, когда оно не выполнено.

Я сильно предлагаю вам потратить 30 минут на просмотр этих превосходных обучающих видеороликов по Blend VSM.http://expression.microsoft.com/en-ca/cc643423.aspx В частности, 7-минутное видео в разделе "Добавление состояний к элементу управления".

Эрвин ван дар Валк только что опубликовал отличную статью, демонстрирующую, как изменить состояния VSM из MVVM, которые имеют отношение к вашей ситуации.http://blogs.msdn.com/erwinvandervalk/archive/2009/10/12/how-to-work-with-animations-in-silverlight-in-the-mvvm-pattern.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top