Разница в визуальном состоянии и триггерах - PullRequest
4 голосов
/ 05 апреля 2010

Я где-то читал, что Silverlight является подмножеством WPF, тогда почему триггеры не используются в silverlight и используются состояния. В чем разница между этими двумя, почему триггеры не используются в Silverlight 3.0

Ответы [ 2 ]

4 голосов
/ 05 апреля 2010

Почему триггеры не реализованы в Silverlight? В конечном итоге, ресурсные ограничения. Команда Silverlight работала над очень сжатым циклом доставки и решила реализовать VisualStateManager вместо триггеров, потому что они чувствовали, что VSM доставил большую часть того, что им было нужно, и было бы намного дешевле реализовать, чем полная триггерная система WPF.

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

Эта статья расширяет различия: сама статья утверждает триггерный подход, но комментарии Джона Госсмана и Кристиана Шормана приводят аргументы в пользу состояний.

0 голосов
/ 05 апреля 2010

Потому что silverlight - это ПОДПИСЬ wpf. SL не имеет этой функции, как и многие другие.

...