Встроенные типы данных в языке XAML

XAML для среды выполнения Windows на уровне языка поддерживает несколько типов данных, которые представляют собой часто используемые примитивы в общей среде выполнения языков (CLR) и в других языках программирования, например C++.

Чаще всего встроенные типы данных в языке XAML используются в том случае, когда ресурсы определены в словаре ресурсов XAML. Здесь можно определить константы, например числа, используемые для нескольких значений. Также можно применить раскадрованную анимацию, в которой используется строка или логическое значение. В этом случае вам потребуется элемент объекта XAML, представляющий строку или логическое значение, для заполнения опорного кадра определения ObjectAnimationUsingKeyFrames. В шаблонах XAML по умолчанию в среде выполнения Windows используются оба эти способа.

XAML для среды выполнения Windows поддерживает на уровне языка следующие типы.

Примитив XAML Описание
x:Boolean Для поддержки CLR соответствует Boolean. XAML при анализе значений x:Boolean не учитывает регистр. Обратите внимание, что x:Bool не является допустимой альтернативой.
x:String Для поддержки CLR соответствует String. Кодировка для строки по умолчанию соответствует окружающей кодировке XML.
x:Double Для поддержки CLR соответствует Double. В дополнение к числовым значениям синтаксис текста для x:Double допускает токен NaN, представляющий способ сохранения Auto для поведения макета в виде значения ресурса. Маркеры обрабатываются с учетом регистра. Можно использовать экспоненциальное представление, например "1+E06" для 1,000,000.
x:Int32 Для поддержки CLR соответствует Int32. x:Int32 рассматривается как число со знаком, поэтому можно добавлять знак минуса ("–") для отрицательного целого. В XAML в отсутствие знака "плюс" (+) в синтаксисе текста подразумевается положительное значение со знаком.

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

Примечание По соглашению примитивы языка для XAML и всех других элементов языка XAML отображаются с префиксом "x:". Таким образом, элементы языка XAML обычно используются в реальной разметке. Это соглашение соблюдается в документации по языку XAML и в спецификации XAML.

Другие примитивы XAML

В спецификации XAML 2009 отмечены другие примитивы XAML на уровне языка, такие как x:Uri и x:Single. Если это не указано в таблице в этой теме, другие примитивы языка XAML, определенные в других словарях XAML или спецификации XAML 2009, в настоящее время не поддерживаются в XAML для среды выполнения Windows.

Примечание Даты и время (свойства, использующие DateTime или DateTimeOffset, TimeSpan или System.TimeSpan) не задаются с помощью примитива XAML. Обычно эти свойства вообще нельзя задавать в коде XAML, поскольку в средстве синтаксического анализа XAML в среде выполнения Windows нет правила по умолчанию для преобразования строки в значения даты и времени. Для значений инициализации любых свойств даты и времени необходимо использовать код программной части, который выполняется при загрузке страницы или элемента.