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:Byte
y 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
, -Infinity
y 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
, -Infinity
y 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.
.NET Desktop feedback