Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Wpf-АК11.doc
Скачиваний:
6
Добавлен:
01.03.2025
Размер:
3 Мб
Скачать
☆

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-приложения исходя из индивидуального задания по варианту. Оформите отчет с подробным листингом файлов программы и скриншотами внешнего вида готового приложения.

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

Варианты индивидуальных заданий

  1. Программа, в интерфейс которой входят 10 элементов типа Label, наследующих свойства друг друга. При наследовании размера шрифта, увеличить размер на 1.

  2. Программа, в интерфейс которой входят 10 элементов типа Label, наследующих свойства друг друга. При наследовании цвета, добавить к его красной составляющей 20.

  3. Программа, в интерфейс которой входят 10 элементов типа Label, наследующих свойства друг друга. При наследовании текста добавить следующую букву по номеру в алфавите (1 – а, 2 – б…)

  4. Программа, в интерфейс которой входят 5 элементов типа Button, наследующих свойства друг друга. При наследовании размера шрифта, увеличить размер на 1.

  5. Программа, в интерфейс которой входят 5 элементов типа Button (с названиями “10”, “58”, “20”, “124”, “3”), наследующих свойства друг друга. При наследовании текста изменить цвет текста на цветовой номер, который записан в названии кнопки.

Контрольные вопросы

1. Что представляютс собой свойства зависимости?

2. В чем принципиальные отличия свойств CLR от свойств зависимости?

3.Возможно ли наследовать свойства и как это реализовано?

4.Что вы знаете от свойствах зависимости?

5. Зачем используются get и set методы?

Лабораторная работа 7 Привязка данных

Цель: получить практические навыки работы с WPF средствами языка программирования C#.

План лабораторного занятия:

  1. Концепция привязки данных

  2. Свойство DataContext

  3. Основные понятия привязки данных

  4. Синтаксис привязки данных

  5. Привязка к элементам интерфейса пользователя

  6. Привязка к xml

  7. Привязка к коллекции

  8. Преобразователи значений привязки данных

  9. Проверка привязки данных

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