Главная » Silverlight » Поведения

0

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

Проблема состоит в том, что в типичном приложении свойства — это лишь часть инфраструктуры пользовательского интерфейса. Даже в небольших приложениях не­обходимо много кода, не имеющего отношения к деловым правилам. Во многих при­ложениях кода, решающего задачи интерфейса (обслуживание анимаций, наложение эффектов, поддержка состояний интерфейса, реализация средств интерактивности, таких как перетаскивание, зумирование, пристыковка), намного больше, чем кода, ре­ализующего деловые функции приложения. Большая часть кода интерфейса является общей для многих приложений, в результате чего разработчик вынужден делать одно и то же во многих проектах Silverlight. Почти весь такой код довольно скучный, и его разработка — трудоемкий процесс.

Из сказанного ясно, что способы повторного использования кода интерфейсов были бы даже более полезными, чем система повторного использования свойств. В предыду­щих версиях Silverlight решение этой задачи не поддерживалось. В Silverlight 3 для ее решения добавлена система поддержки свойств. Основная идея довольно проста: раз­работчик создает поведение, инкапсулирующее общие части функциональности поль­зовательских интерфейсов. Общая функциональность может быть простой (например, запуск раскадровки или навигация по гиперссылке) или сложной (например, реализа­ция глубокого зумирования с помощью полос прокрутки или колесика мыши, столкно­вение частиц в физической модели, работающей в реальном времени, и т.д.). Определив функциональность один раз, ее можно добавлять в другие элементы управления в лю­бом приложении. Для этого нужно лишь подключить поведение и установить его свой­ства. В рабочей среде Expression Blend 3 почти вся работа с поведениями сводится к операциям перетаскивания.

Примечание. Пользовательские элементы управления предоставляют другую технологию повторного использования функциональности интерфейса в разных приложениях, основанную на предопределенных классах. Однако ее тяжелее применить, потому что элемент управления организован как плотно упакованный комплект кода и визуальных компонентов. Пользовательские элементы — чрезвычайно мощный инструмент, однако они не подходят для ситуаций, в которых объектам разных типов нужно присвоить одинаковую функциональность (например, обеспечить одинаковую визуальную реакцию элементов разного типа на наведение указателя мыши). По этой причине стили, поведения и пользовательские элементы управления дополняют друг друга. В наиболее гибких профессиональных приложениях используются комбинации этих средств.

Источник: Мак-Дональд, Мэтью. Silverlight 3 с примерами на С# для профессионалов. : Пер. с англ. —- М. : ООО «И.Д. Вильяме», 2010. — 656 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии