Compartir a través de


Tipos integrados para primitivas comunes en el lenguaje XAML

XAML 2009 presenta la compatibilidad de nivel de lenguaje XAML con varios tipos de datos que son primitivas usadas con frecuencia en Common Language Runtime (CLR) y otros lenguajes de programación. XAML 2009 agrega compatibilidad con estas primitivas: 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:Bytey x:Array

Técnicas anteriores para las primitivas del lenguaje en el marcado XAML

En XAML para versiones anteriores de WPF, se podía hacer referencia a las primitivas del lenguaje CLR si se asignaba el ensamblado y el espacio de nombres que contenían una clase de definición de primitiva CLR para .NET Framework. La mayoría se encuentra en el ensamblado mscorlib y el espacio de nombres System . Por ejemplo, para usar Int32, podría declarar la siguiente asignación (con un uso de ejemplo mostrado a continuación):

<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>

Primitivas del lenguaje XAML 2009

Por convención, se muestran las primitivas del lenguaje para XAML y todos los demás elementos del lenguaje XAML, incluido el prefijo x: . Así es como se usan normalmente los elementos del lenguaje XAML en el marcado del mundo real. Esta convención se sigue en la documentación conceptual de XAML en WPF y también en la especificación XAML.

x:Object

En copias de seguridad de CLR, la primitiva x:Object corresponde a Object.

Esta primitiva no se usa normalmente en el marcado de aplicaciones, pero puede resultar útil en algunos escenarios como la comprobación de la capacidad de asignación en un sistema de tipos XAML.

x:Boolean

En copias de seguridad de CLR, la primitiva x:Boolean corresponde a Boolean.

XAML analiza los valores de x:Boolean como si no distinguieran entre mayúsculas y minúsculas. Tenga en cuenta que x:Bool no es una alternativa aceptada. Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.17 y 7.4.11.

x:Char

En copias de seguridad de CLR, la primitiva x:Char corresponde a Char.

Los tipos de cadena y carácter tienen interacción con la codificación general del archivo en el nivel XML. Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.7 y 7.4.1.

x:String

En copias de seguridad de CLR, la primitiva x:String corresponde a String.

Los tipos de cadena y carácter tienen interacción con la codificación general del archivo en el nivel XML. Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.6.

x:Decimal

En copias de seguridad de CLR, la primitiva x:Decimal corresponde a Decimal.

El análisis de XAML se realiza de forma inherente bajo la referencia cultural en-US. En la referencia cultural en-US , el separador correcto de los componentes de un decimal es siempre un punto (.) independientemente de la configuración de referencia cultural del entorno de desarrollo o del destino de cliente final donde se carga XAML en tiempo de ejecución.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.14 y 7.4.8.

x:Single

En copias de seguridad de CLR, la primitiva x:Single corresponde a Single.

Además de los valores numéricos, la sintaxis de texto de x:Single también permite los tokens Infinity, -Infinityy NaN. En los tokens se distinguen mayúsculas de minúsculas.

x:Single puede admitir valores en formato de notación científica si el primer carácter de la sintaxis de texto es e o E.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.8 y 7.4.2.

x:Double

En copias de seguridad de CLR, la primitiva x:Double corresponde a Double.

Además de los valores numéricos, la sintaxis de texto de x:Double permite los tokens Infinity, -Infinityy NaN. En los tokens se distinguen mayúsculas de minúsculas.

x:Double puede admitir valores en formato de notación científica. Use el carácter e o E para presentar la parte del exponente.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.9 y 7.4.3.

x:Int16

En copias de seguridad de CLR, la primitiva x:Int16 corresponde a Int16 y x:Int16 se trata como un valor con signo. En XAML, la ausencia de un signo más (+) en la sintaxis de texto se considera como un valor con signo positivo.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.11 y 7.4.5.

x:Int32

En copias de seguridad de CLR, la primitiva x:Int32 corresponde a Int32. x:Int32 se trata como un valor con signo. En XAML, la ausencia de un signo más (+) en la sintaxis de texto se considera como un valor con signo positivo.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.12 y 7.4.6.

x:Int64

En copias de seguridad de CLR, la primitiva x:Int64 corresponde a Int64. x:Int64 se trata como un valor con signo. En XAML, la ausencia de un signo más (+) en la sintaxis de texto se considera como un valor con signo positivo.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.13 y 7.4.7.

x:TimeSpan

En copias de seguridad de CLR, la primitiva x:TimeSpan corresponde a TimeSpan.

El análisis de XAML para el formato de fecha y hora se realiza de forma inherente bajo la referencia cultural en-US.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.16 y 7.4.10.

x:Uri

En copias de seguridad de CLR, la primitiva x:Uri corresponde a Uri.

La comprobación de los protocolos no forma parte de la definición de XAML para x:Uri.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.15 y 7.4.9.

x:Byte

En copias de seguridad de CLR, la primitiva x:Byte corresponde a Byte. Un x:Byte de / de Byte se trata como sin firmar.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.10 y 7.4.4.

x:Array

En copias de seguridad de CLR, la primitiva x:Array corresponde a Array.

Puede definir una matriz en XAML 2006 con una sintaxis de extensión de marcado; sin embargo, la sintaxis de XAML 2009 es una primitiva definida por el lenguaje que no necesita acceso a una extensión de marcado. Para más información sobre la compatibilidad con XAML 2006, vea x:Array Markup Extension.

Para obtener la definición de la especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.18.

Compatibilidad de WPF

En WPF, puede usar las características de XAML 2009 pero solo para XAML que no se haya compilado por marcado. XAML compilado por marcado para WPF y el formulario BAML de XAML no admiten de momento las palabras clave y características de XAML 2009.

Un escenario donde puede usar las características de XAML 2009 junto con WPF es si crea XAML dinámico y, a continuación, carga ese XAML en un gráfico de objetos y tiempo de ejecución de WPF con XamlReader.Load. System.Windows.Markup.XamlReader de WPF y su Load pueden procesar las características y palabras clave del lenguaje XAML 2009 en una representación de gráfico de objetos válido.