Поддержка развитого декларативного программирования на этапе проектирования

именно этого ожидают от развитых

Выбор элемента управления в конструкторе с последующей установкой его свойств или использованием контекстных меню для изменения поведения этого элемента управления является одной из форм декларативного программирования. Именно этого ожидают от развитых элементов управления программисты Windows Forms, привыкшие к поддержке такой парадигмы программирования, обеспечиваемой в Visual Studio. Вы видели несколько простых примеров развитой поддержки конструктора в атрибутах, которые добавлялись к свойствам DataSource И DataMember В классе FilteredGrid. Вы увидите еще несколько, с атрибутами Toolboxitem И ToolboxBitmap, В следующем примере.

Для любых свойств, которые будут экспонироваться в окне Properties, вы должны также включить атрибуты Description И Category. Вы видели, что атрибуты, которые добавляются к вашему элементу управления и тип которых распознает Visual Studio, автоматически появляются в окне Properties При выборе этого элемента управления. Вы сможете редактировать эти свойства при помощи редакторов, ассоциированных в Visual Studio С их типом. Visual Studio Предлагает массу возможностей, позволяющих вам пойти гораздо дальше. Можно использовать разнообразные другие атрибуты для влияния на другие аспекты поведения времени разработки, и можно создавать специальные преобразователи типов, позволяющие окну Properties Преобразовывать строки в сложные типы, которые обычно им бы не распознавались. Можно проектировать специальные редакторы, подключаемые к окну Properties, так что вы сможете редактировать свои сложные типы графически, подобно тому, как вы редактируете свойство Anchor Или выбираете цвет в диалоге, который отображается для свойств типа Color. Можно также создавать отдельные классы конструктора, которые вы ассоциируете с элементом управления, чтобы обеспечить его альтернативное или расширенное отображение, когда он находится в конструкторе. Эти вопросы выходят за рамки данной книги, но вы можете прочитать о них в различных источниках по программированию поддержки конструктора Windows Forms. О дополнении элементов управления функциями времени разработки я рекомендую прочитать в книге «Windows Forms Programming In С#» Криса Селлса. Крис Селлс и Майк Вайнхардт написали также на эту тему две статьи, опубликованные в апрельском и майском выпусках журнала «MSDN» за 2003 год.