- •«Комп’ютерні технології та програмування»
- •Оглавление
- •Лабораторная работа 1 Знакомство с wpf
- •Теоретические сведения
- •1. Знакомство с редактором xaml
- •2.Создание приложения wpf
- •Контрольные вопросы
- •Лабораторная работа 2 Подробное введение в разработку приложений wpf
- •Теоретические сведения
- •1. Ознакомление с управлением проектами wpf в msVisualStudio
- •3) Создание обработчиков событий
- •Задание к лабораторной работе
- •Варианты индивидуальных заданий
- •2. Создание тестового приложения wpf
- •Задание к лабораторной работе
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Лабораторная работа 3 Макет программы и основные элементы управления
- •Теоретически сведения
- •1. Макет в wpf
- •2. Новые возможности wpf
- •3. Элемент управления Canvas
- •4. Элементуправления StackPanel
- •5. Элементуправления WrapPanel
- •6. Элемент управления DockPanel
- •7. Элемент Grid
- •Задание к лабораторной работе
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Лабораторная работа 4
- •Xaml и код, расширения разметки и ресурсы
- •Теоретически сведения
- •2. Ссылки на ресурсы в wpf
- •Задание к лабораторной работе
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Лабораторная работа 6 Свойства зависимости
- •Теоретически сведения
- •1. Особенности свойств clr
- •2. Наследование значений свойств зависимости
- •3. Присоединенные свойства
- •4. Метаданныесвойствзависимости
- •5. Проверка допустимости значения
- •Задание к лабораторной работе
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Лабораторная работа 7 Привязка данных
- •Теоретически сведения
- •1. Концепция привязки данных
- •2. Свойство DataContext
- •3. Основные понятия привязки данных
- •4. Синтаксис привязки данных
- •5. Привязка к элементам интерфейса пользователя
- •6. Привязка к xml
- •7. Привязка к коллекции
- •8. Преобразователи значений привязки данных
- •9. Проверкапривязкиданных
- •Задание к лабораторной работе
- •Варианты индивидуальных заданий
- •Контрольные вопросы
5. Проверка допустимости значения
Свойство зависимости CurrentReading объявляется следующим образом.
public static readonly DependencyProperty CurrentReadingProperty = DependencyProperty.Register(
"CurrentReading",
typeof(double),
typeof(Gauge),
new FrameworkPropertyMetadata(
Double.NaN,
FrameworkPropertyMetadataOptions.None,
new PropertyChangedCallback(OnCurrentReadingChanged),
new CoerceValueCallback(CoerceCurrentReading)
),
new ValidateValueCallback(IsValidReading)
);
Одно из значений позволяет определить, содержит ли свойство зависимости допустимое значение. Для этого используется делегат ValidateValueCallback (в данном случае IsValidReading(object value)), что гарантирует применение к свойству зависимости только допустимых значений. Нижеприведенэтотметод.
public static bool IsValidReading(object value)
{
Double v = (Double)value;
return (!v.Equals(Double.NegativeInfinity) && !v.Equals(Double.PositiveInfinity));
}
Задание к лабораторной работе
Спроектируйте интерфейс WPF-приложения исходя из индивидуального задания по варианту. Оформите отчет с подробным листингом файлов программы и скриншотами внешнего вида готового приложения.
Проектирование интерфейса подразумевает творческий подход и понимание объекта работы программы, потому информативность, эргономика и общий подход к интерфейсу будут влиять на результирующую оценку при защите лабораторной работы.
Варианты индивидуальных заданий
Программа, в интерфейс которой входят 10 элементов типа Label, наследующих свойства друг друга. При наследовании размера шрифта, увеличить размер на 1.
Программа, в интерфейс которой входят 10 элементов типа Label, наследующих свойства друг друга. При наследовании цвета, добавить к его красной составляющей 20.
Программа, в интерфейс которой входят 10 элементов типа Label, наследующих свойства друг друга. При наследовании текста добавить следующую букву по номеру в алфавите (1 – а, 2 – б…)
Программа, в интерфейс которой входят 5 элементов типа Button, наследующих свойства друг друга. При наследовании размера шрифта, увеличить размер на 1.
Программа, в интерфейс которой входят 5 элементов типа Button (с названиями “10”, “58”, “20”, “124”, “3”), наследующих свойства друг друга. При наследовании текста изменить цвет текста на цветовой номер, который записан в названии кнопки.
Контрольные вопросы
1. Что представляютс собой свойства зависимости?
2. В чем принципиальные отличия свойств CLR от свойств зависимости?
3.Возможно ли наследовать свойства и как это реализовано?
4.Что вы знаете от свойствах зависимости?
5. Зачем используются get и set методы?
Лабораторная работа 7 Привязка данных
Цель: получить практические навыки работы с WPF средствами языка программирования C#.
План лабораторного занятия:
Концепция привязки данных
Свойство DataContext
Основные понятия привязки данных
Синтаксис привязки данных
Привязка к элементам интерфейса пользователя
Привязка к xml
Привязка к коллекции
Преобразователи значений привязки данных
Проверка привязки данных
