760.45K
Category: programmingprogramming

Свойства и расширения разметки XAML. Тема 4.1.2

1.

ОСНОВЫ АЛГОРИТМИЗАЦИИ
И ПРОГРАММИРОВАНИЯ
Тема 4.1.2 Свойства и расширения
разметки XAML

2.

План работы:
• Элементы. Специальные символы
• Способы создания элементов.
• Сложные свойства и конвертеры типов
• Пространства имен из C# в XAML

3.

Элементы. Специальные символы
Правила задания элементов
1. Каждый элемент, имеет открытый и закрытый тег.
2. Либо элемент может иметь сокращенную форму с
закрывающим слешем в конце.
3. Каждый элемент в XAML соответствует
определенному классу C#. Например, элемент
Button соответствует
классу System.Windows.Controls.Button. А
свойства этого класса соответствуют атрибутам
элемента Button.

4.

Элементы. Специальные символы
• Правила определения специальных символов
Проблема
Решение
1. Нельзя использовать
специальные символы, такие
как знак амперсанда &,
кавычки " и угловые скобки < и >.
1. Специальные коды символов
2. Добавление пробелов. Лишние
пробелы удаляются
2. Атрибут xml:space="preserve"

5.

Способы создания элементов.
1. Взаимодействие кода C# и XAML. Визуальные
свойства определяются в разметке, а действия в
коде C#. Для обращения к элементу управления
необходимо установить у элемента в XAML свойство
Name. С помощью атрибутов в XAML (например x:
Name) мы можем задать события, которые будут
связанны с обработчиками в коде C#.

6.

Способы создания элементов.
• Обработчик нажатия кнопки: В обработчике нажатия
кнопки просто выводится сообщение , введенное в
текстовое поле.

7.

Способы создания элементов.
2. Создание элементов в коде C#. В разметке нет
нечего кроме установлено свойства x:Name для
элемента Grid, через которое мы можем к нему
обращаться в коде.

8.

Способы создания элементов.
• В конструкторе странцы создается элемент Button и
добавляется в Grid. И если мы запустим приложение,
то увидим добавленную кнопку, на разметке ничего не
будет.

9.

Сложные свойства и конвертеры
типов
• В WPF имеются встроенные конвертеры для
большинства типов данных: Brush, Color, FontWeight и
т.д. Все конвертеры типов являются производными от
класса TypeConverter.
• При необходимости можно создать свои конвертеры
для каких-то собственных типов данных.
• С помощью атрибутов мы можем задать различные
свойства кнопки. Например,
свойства HorizontalAlignment или Background.
• Например, конкретно для преобразования
значения Background="Red" в объект
SolidColorBrush используется производный
класс BrushConverter.

10.

Сложные свойства и конвертеры
типов

11.

Пространства имен из C# в XAML
• 1. Локальное пространство имен позволяет
подключить все классы, которые определены в коде
C#:

12.

Пространства имен из C# в XAML
• 2. Все классы проекта используются в
форме local:Название_Класса. Например, объект
Phone устанавливается в качестве содержимого
кнопки через свойство Content. Для сложных объектов
это свойство принимает их строковое представление,
которое возвращается методом ToString():

13.

Пространства имен из C# в
XAML
• Мы можем подключить любые другие пространства
имен. Общий синтаксис подключения пространств
имен: xmlns:Префикс="clrnamespace:Пространство_имен;assembly=имя_сбо
рки". Так в предыдущем случае мы подключили
пространство имен System.Collections, классы
которого находятся в сборке mscorlib. И данное
подключенное пространство имен у нас отображено
на префикс col.

14.

Пространства имен из C# в XAML
English     Русский Rules