Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
course_(Windows&Web).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.68 Mб
Скачать

Документирование частей шаблона

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

Ниже приведены атрибуты TemplatePart, которые потребуется добавить к классу элемента управления AdressCustomControl:

[TemplatePart(Name="PART_RedSlider", Type=typeof(RangeBase))] [TemplatePart(Name = "PART_BlueSlider", Type=typeof(RangeBase))] [TemplatePart(Name="PART_GreenSlider", Type=typeof(RangeBase))] public class ColorPicker : System.Windows.Controls.Control { ... }

Ключевые термины

UserControl - предоставляет простой способ создания элемента управления.

CustomControl – это класс унаследованный от UserControl, который содержит набор полей и методов а также свое представление в виде XAML, которые обеспечивают работу этого контрола. Затем этот контрол может встраиваться в другую страницу (он же самый UserControl).

DataContext – получает или задает контекст данных для объекта FrameworkElement, когда он участвует в привязке данных.

DependencyProperty – представляет свойство, которое можно задать с использованием методов (например, стили, привязка данных, анимация и наследование).

Бизнес-объект (доменные объекты) — это объекты в объектно-ориентированных компьютерных программах, выражающие сущности из модели предметной области, относящейся к программе, и реализующие бизнес-логику программы. Например, программа, управляющая заказами, может содержать такие доменные объекты, как «заказ», «позиция заказа», «счёт-фактура».

Краткие итоги

Мы рассмотрели разработку пользовательского элемента управления. Вы увидели, как строятся базовые пользовательские элементы управления (UserControl), а также как устроен "золотой стандарт" — основанные на шаблонах элементы, лишенные внешнего вида (CustomControl).

Набор для практики

Вопросы:

  1. Назовите основные особенности UserControl

  2. Назовите основные особенности CustomControl

  3. DependencyProperty и этапы определения

  4. Виды привязок в шаблоне пользовательского элемента управления

  5. Назначение метода OnApplyTemplate

Тесты

Задача 1.

Вариант 1 Задачи 1.

Если в дальнейшем потребуется создать наследника от пользовательского элемента управления, то мы должны спроектировать его как:

+ Ответ 1. CustomControl

Ответ 2. UserControl

Ответ 3. CustomControl или UserControl

Ответ 4. создать наследника от пользовательского элемента управления не возможно.

Вариант 2 Задачи 1.

Нестандартные, повторно используемые элементы, которые можно применять без каких-либо модификаций и в других приложениях:

Ответ 1. UserControl

+ Ответ 2. CustomControl

Ответ 3. CustomControl или UserControl

Ответ 4. создать повторно используемые элементы управления не возможно.

Вариант 3 Задачи 1.

Если в дальнейшем потребуется создать наследника от пользовательского элемента управления, то мы должны спроектировать его как

Ответ 1. CustomControl

Задача 2.

Вариант 1 Задачи 2.

При добавлении в проект Silverlight User Control’а:

Ответ 1. добавится только файл разметки XAML

Ответ 2. добавится только класс этого Control’а

+ Ответ 3. добавится файл разметки XAML и класс содержащий фоновый код Control’а

Ответ 4. в Silverlight нет возможности добавления UserControl, эта возможность WPF проектов

Вариант 2 Задачи 2.

При добавлении в проект Silverlight User Control’а произойдет добавление в проект:

Ответ 1. файла разметки XAML

Ответ 2. класса содержащий фоновый код Control’а

Ответ 3. шаблона для этого Control’а в файле Generic.xaml

Ответ 4. в Silverlight нет возможности добавления UserControl, эта возможность WPF проектов

Вариант 3 Задачи 2.

Элемент управления без внешнего вида на основе одного из базовых классов, не имеющих поверхности визуального проектирования принято называть … (англ.яз.)

Ответ 1. CustomControl

Задача 3.

Вариант 1 Задачи 3.

При определении свойств зависимости необязательно:

Ответ 1. определение статического поля с добавленным словом Property в конце его имени

Ответ 2. добавить статический конструктор элемента управления, который зарегистрирует свойства, указывая имя свойства, тип данных и класс элемента управления, владеющий данным свойством

+ Ответ 3. присоединить обратные вызовы для проверки достоверности, коррекции значений и уведомлений об изменении значения

Ответ 4. любой из пунктов можно опустить

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]