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

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

Определите соответствие между свойством привязки и описанием

Ответ 1. Path Ответ 5. задает источник данных, ссылаясь на другой элемент, имеющий свойство Name или Атрибут x:Name

Ответ 2. Converter Ответ 6. задает источник данных путем описания расположения источника привязки относительно положения цели привязки.

Ответ 3. Mode Ответ 2. указывает объект преобразователя, вызываемый модулем привязки

Ответ 4. Source Ответ 3. задает режим привязки

Ответ 5. ElementName Ответ 4. задает источник данных объекта

Ответ 6. RelativeSource Ответ 1. задает путь к свойству источника привязки

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

Свойство, которое задает источник данных, ссылаясь на другой элемент, имеющий свойство Name или атрибут x:Name

Ответ ElementName

Задача 6.

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

Выберите из списка свойство, которое не исключает возможность использования любого из остальных в привязке:

Ответ 1. Source

Ответ 2. RelativeSource

+ Ответ 3. Path

Ответ 4. ElementName.

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

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

+ Ответ 1. Source

+ Ответ 2. RelativeSource

Ответ 3. Path

+ Ответ 4. ElementName.

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

Свойство, которое указывает объект преобразователя, вызываемый модулем привязки …

Ответ 1. Converter

Задача 7.

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

Укажите правильные утверждения:

+ Ответ 1. класс ObservableCollection, содержащий встроенную реализацию INotifyCollectionChanged и INotifyPropertyChanged

Ответ 2. интерфейс INotifyPropertyChanged появился в .NET 4.0.

Ответ 3. привязка данных не позволяет добраться до отдельных элементов набора

+ Ответ 4. список к которому настраивается привязка должен реализовывать интерфейс IEnumerable.

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

Связывание цели вызова и вызываемого метода на этапе выполнения, когда с сущностью связывается метод класса объекта, связанного с сущностью в момент выполнения - … (рус. яз.)

Ответ 1. динамическое связывание

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

Связывание цели вызова и вызываемого метода на этапе компиляции, когда с сущностью связывается метод класса, заданного при объявлении сущности - … (рус. яз.)

Ответ 1. статическое связывание

Литература

  1. Общие сведения о связывании данных http://msdn.microsoft.com/ru-ru/library/ms752347.aspx

  2. Мак-Дональд, М. WPF: Windows Presentation Foundation в .NET 4 с примерами на С# 2010 Пер. с англ. –М.: ООО “И.Д. Вильямс”, 2011., стр. 559-600.

  3. К. Андерсон Основы Windows Presentation Foundation. Пер. с англ. А. Слинкина — М.: ДМК Пресс, 2008 — стр. 295-321.

Лекция 7. Пользовательские элементы управления.

Краткая аннотация лекции: в лекции вы увидите создавать пользовательские элементы управления и делать их полноценными "гражданами" сообщества классов WPF и Silverliht проектов. Это значит, что вы будете оснащать их свойствами зависимости, чтобы получить поддержку таких важных служб, как привязка данных, стили и анимация. Кроме того, вы узнаете, как создать элемент, лишенный внешнего вида — управляемый шаблонами элемент, который позволяет его потребителю применять различные визуальные представления для большей гибкости.

Цель лекции: показать реализацию пользовательского элемента управления двумя путями: через UserControl и CustomControl. Дать представление о том, в какой из вариантов целесообразно использовать в той или иной ситуации. Научить пользоваться свойствами зависимости. Закрепить применение стилей и шаблонов.

UserControl или CustomControl?

Есть две категории разработчиков элементов управления. Одни создают пользовательские элементы (UserControl), другие – нестандартные (CustomControl). Названия относятся к двум совершенно разным ситуациям и многие считают эти именования не совсем удачными. Некоторые программисты предпочитают такое определение: пользовательские элементы (UserControl) – как способ инкапсуляции частей графического интерфейса, а нестандартные (CustomControl) – это повторно используемые элементы, которые можно применять и в других приложениях. Вопрос о том, где проходит граница между ними, – источник ожесточенных споров.

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

Так же программист должен помнить о том, что имеется большая вероятность возникновение ситуации, когда потребуется создать наследника от уже созданного UserControl’a, сделать это не возможно, поэтому вам придется переделывать UserControl в CustomControl. Процесс рутинный и трудоёмкий. Именно поэтому при создании пользовательского элемента управления необходимо предварительно рассмотреть все варианты его дальнейшего жизненного цикла. И если возникнут сомнения, что использовать UserControl или CustomControl, оптимальным решением будет выбор в пользу использования CustomControl.

UserControl

Данный раздел лекции последовательно продемонстрирует три этапа инкапсуляции частей графического интерфейса. Первым шагом будет создание на стартовой странице приложения табличной сетки, где мы разместим основные элементы управления и применим к ним стили. Затем добавим обработчик события KeyDown. В завершающей части этого раздела лекции создадим полноценный UserControl.

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

Одним из способов создания пользовательских элементов управления является явное добавление его к вашему приложению. Щелкнув правой кнопкой мыши по проекту и выбрав Add->New Item, вы получите диалоговое окно, которое предложит вам шаблон с пользовательским элементом управления в качестве одной из опций.

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