Similar presentations:
Свойства и расширения разметки 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.
programming