Поделиться через


Встроенные типы для примитивов языка 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 в допустимое представление графа объектов.