Встроенные типы для примитивов языка XAML
XAML 2009 предоставляет поддержку на уровне языка XAML для нескольких типов данных, которые часто используются примитивами в среде CLR и других языках программирования. XAML 2009 добавляет поддержку этих примитивов: x:Object
, x:Boolean
, x:Char
, x:String
, x:Decimal
, x:Single
, x:Double
, x:Int16
, x:Int32
, x:Int64
, x:TimeSpan
, x:Uri
, x:Byte
и x:Array
Предыдущие методы для примитивов языка в разметке XAML
В XAML для предыдущих версий WPF можно ссылаться на примитивы языка CLR, сопоставляя сборку и пространство имен, содержащее класс примитивного определения СРЕДЫ CLR для .NET Framework. Большинство из них находятся в сборке mscorlib и System пространстве имен. Например, чтобы использовать Int32, можно объявить следующее сопоставление (с примером использования, показанного далее):
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Application.Resources>
<sys:Int32 x:Key="intMeaning">42</sys:Int32>
</Application.Resources>
</Application>
Примитивы языка XAML 2009
По соглашению отображаются примитивы языка для XAML и всех других элементов языка XAML, включая префикс x:
. Это то, как элементы языка XAML обычно используются в разметке реального мира. Это соглашение следует в концептуальной документации по XAML в WPF, а также в спецификации XAML.
x:Object
Для резервного копирования среды CLR примитив x:Object
соответствует Object.
Этот примитив обычно не используется в разметке приложения, но может оказаться полезным для некоторых сценариев, таких как проверка возможности назначения в системе типов XAML.
x:Boolean
Для резервного копирования среды CLR примитив x:Boolean
соответствует Boolean.
XAML анализирует значения для x:Boolean
как нечувствительные к регистру. Обратите внимание, что x:Bool
не является принятой альтернативой. Определение спецификации языка XAML см. в разделах 7.2.17 и 7.4.11.
x:Char
Для резервного копирования среды CLR примитив x:Char
соответствует Char.
Типы строк и символов взаимодействуют с общей кодировкой файла на уровне XML. Определение спецификации языка XAML см. в разделах 7.2.7 и 7.4.1.
x:String
Для резервного копирования среды CLR примитив x:String
соответствует String.
Типы строк и символов взаимодействуют с общей кодировкой файла на уровне XML. Определение спецификации языка XAML см. в разделе [MS-XAML] Sections 7.2.6.
x:Decimal
Для резервного копирования среды CLR примитив x:Decimal
соответствует Decimal.
Анализ XAML изначально выполняется в en-US
языка и региональных параметров. В разделе en-US
языка и региональных параметров правильный разделитель для компонентов десятичного разряда всегда является точкой (.
) независимо от параметров и региональных параметров среды разработки или конечного целевого объекта клиента, в котором xaml загружается во время выполнения.
Определение спецификации языка XAML см. в разделах 7.2.14 и 7.4.8.
x:Single
Для резервного копирования среды CLR примитив x:Single
соответствует Single.
В дополнение к числовым значениям текстовый синтаксис для x:Single
также разрешает маркеры Infinity
, -Infinity
и NaN
. Эти маркеры рассматриваются как конфиденциальные регистры.
x:Single
может поддерживать значения в форме научной нотации, если первый символ в текстовом синтаксисе e
или E
.
Определение спецификации языка XAML см. в разделах 7.2.8 и 7.4.2.
x:Double
Для резервного копирования среды CLR примитив x:Double
соответствует Double.
В дополнение к числовым значениям текстовый синтаксис для x:Double
разрешает маркеры Infinity
, -Infinity
и NaN
. Эти маркеры рассматриваются как конфиденциальные регистры.
x:Double
может поддерживать значения в форме научной нотации. Используйте символ e
или E
, чтобы представить экспонентную часть.
Определение спецификации языка XAML см. в разделах 7.2.9 и 7.4.3.
x:Int16
Для поддержки среды CLR примитив x:Int16
соответствует Int16 и x:Int16
рассматривается как подписанный. В XAML отсутствие знака плюса (+
) в текстовом синтаксисе подразумевается как положительное подписанное значение.
Определение спецификации языка XAML см. в разделах 7.2.11 и 7.4.5.
x:Int32
Для резервного копирования среды CLR примитив x:Int32
соответствует Int32.
x:Int32
рассматривается как подписанный. В XAML отсутствие знака плюса (+
) в текстовом синтаксисе подразумевается как положительное подписанное значение.
Определение спецификации языка XAML см. в разделах 7.2.12 и 7.4.6.
x:Int64
Для резервного копирования среды CLR примитив x:Int64
соответствует Int64.
x:Int64
рассматривается как подписанный. В XAML отсутствие знака плюса (+
) в текстовом синтаксисе подразумевается как положительное подписанное значение.
Определение спецификации языка XAML см. в разделах 7.2.13 и 7.4.7.
x:TimeSpan
Для резервного копирования среды CLR примитив x:TimeSpan
соответствует TimeSpan.
Анализ XAML для формата даты времени изначально выполняется в en-US
языка и региональных параметров.
Определение спецификации языка XAML см. в разделах 7.2.16 и 7.4.10.
x:Uri
Для резервного копирования среды CLR примитив x:Uri
соответствует Uri.
Проверка протоколов не является частью определения XAML для x:Uri
.
Определение спецификации языка XAML см. в разделах 7.2.15 и 7.4.9.
x:Byte
Для резервного копирования среды CLR примитив x:Byte
соответствует Byte.
Byte
/
x:Byte
рассматривается как неподписанный.
Определение спецификации языка XAML см. в разделах 7.2.10 и 7.4.4.
x:Array
Для резервного копирования среды CLR примитив x:Array
соответствует Array.
Массив в XAML 2006 можно определить с помощью синтаксиса расширения разметки; Однако синтаксис XAML 2009 — это определяемый языком примитив, который не требует доступа к расширению разметки. Дополнительные сведения о поддержке XAML 2006 см. в расширения разметки массива.
Определение спецификации языка XAML см. в разделе [MS-XAML] Sections 7.2.18.
Поддержка WPF
В WPF можно использовать функции XAML 2009, но только для XAML, который не компилируется разметкой. Скомпилированный разметкой XAML для WPF и форма BAML XAML в настоящее время не поддерживают ключевые слова и функции XAML 2009.
Сценарий, в котором можно использовать функции XAML 2009 вместе с WPF, заключается в том, что вы создаете свободный КОД XAML, а затем загружаете его в среду выполнения WPF и граф объектов с XamlReader.Load. System.Windows.Markup.XamlReader WPF и его Load могут обрабатывать ключевые слова и функции языка XAML 2009 в допустимое представление графа объектов.
.NET Desktop feedback