Tipos integrados para primitivos de lenguaje XAML comunes
XAML 2009 presenta compatibilidad de nivel de lenguaje XAML con varios tipos de datos que se usan con frecuencia en Common Language Runtime (CLR) y en otros lenguajes de programación. XAML 2009 agrega compatibilidad con estos primitivos: 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 primitivos de lenguaje en marcado XAML
En XAML para versiones anteriores de WPF, podría hacer referencia a los primitivos del lenguaje CLR asignando el ensamblado y el espacio de nombres que contenían una clase de definición primitiva clR para .NET Framework. La mayoría de estos se encuentran en el ensamblado mscorlib y System espacio de nombres. Por ejemplo, para usar Int32, puede declarar la siguiente asignación (con un uso de ejemplo que se muestra después):
<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>
Primitivos del lenguaje XAML 2009
Por convención, se muestran los primitivos de lenguaje para XAML y todos los demás elementos del lenguaje XAML, incluido el prefijo x:
. Este es el modo en que los elementos del lenguaje XAML se usan normalmente en el marcado 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
Para la copia de seguridad clR, el x:Object
primitivo corresponde a Object.
Este primitivo no se usa normalmente en el marcado de la aplicación, pero puede ser útil para algunos escenarios, como comprobar la capacidad de asignación en un sistema de tipos XAML.
x:Boolean
Para la copia de seguridad clR, el x:Boolean
primitivo corresponde a Boolean.
XAML analiza los valores de x:Boolean
como no distingue mayúsculas de 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
Para la copia de seguridad clR, el x:Char
primitivo corresponde a Char.
Los tipos de cadena y char 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
Para la copia de seguridad clR, el x:String
primitivo corresponde a String.
Los tipos de cadena y char 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
Para la copia de seguridad clR, el x:Decimal
primitivo corresponde a Decimal.
El análisis de XAML se realiza inherentemente en en-US
referencia cultural. En en-US
referencia cultural, el separador correcto para los componentes de un decimal es siempre un período (.
) independientemente de la configuración de referencia cultural del entorno de desarrollo, o del destino de cliente final donde el XAML se carga 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
Para la copia de seguridad clR, el x:Single
primitivo corresponde a Single.
Además de los valores numéricos, la sintaxis de texto para x:Single
también permite los tokens Infinity
, -Infinity
y NaN
. Estos tokens se tratan como 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
Para la copia de seguridad clR, el x:Double
primitivo corresponde a Double.
Además de los valores numéricos, la sintaxis de texto para x:Double
permite los tokens Infinity
, -Infinity
y NaN
. Estos tokens se tratan como distinguen mayúsculas de minúsculas.
x:Double
pueden admitir valores en formato de notación científica. Use el e
de caracteres o E
para introducir la parte 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
Para la copia de seguridad CLR, el x:Int16
primitivo corresponde a Int16 y x:Int16
se trata como firmado. En XAML, la ausencia de una sintaxis de texto de inicio de sesión más (+
) está implícita 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
Para la copia de seguridad clR, el x:Int32
primitivo corresponde a Int32.
x:Int32
se trata como firmado. En XAML, la ausencia de una sintaxis de texto de inicio de sesión más (+
) está implícita 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
Para la copia de seguridad clR, el x:Int64
primitivo corresponde a Int64.
x:Int64
se trata como firmado. En XAML, la ausencia de una sintaxis de texto de inicio de sesión más (+
) está implícita 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
Para la copia de seguridad clR, el x:TimeSpan
primitivo corresponde a TimeSpan.
El análisis de XAML para el formato de fecha y hora se realiza inherentemente en en-US
referencia cultural.
Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.16 y 7.4.10.
x:Uri
Para la copia de seguridad clR, el x:Uri
primitivo corresponde a Uri.
La comprobación de 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
Para la copia de seguridad clR, el x:Byte
primitivo corresponde a Byte. Un Byte / x:Byte
se trata como sin signo.
Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.10 y 7.4.4.
x:Array
Para la copia de seguridad clR, el x:Array
primitivo corresponde a Array.
Puedes definir una matriz en XAML 2006 mediante una sintaxis de extensión de marcado; sin embargo, la sintaxis XAML 2009 es un primitivo definido por el lenguaje que no requiere acceso a una extensión de marcado. Para obtener más información sobre la compatibilidad con XAML 2006, consulta extensión de marcado x:Array.
Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.18.
Compatibilidad con WPF
En WPF, puedes usar características xaml 2009, pero solo para XAML que no esté compilado con marcado. Xaml compilado con marcado para WPF y la forma BAML de XAML no admiten actualmente las palabras clave y características xaml 2009.
Un escenario en el que puedes usar características xaml 2009 junto con WPF es si creas XAML flexible y luego cargas ese XAML en un tiempo de ejecución de WPF y un grafo de objetos con XamlReader.Load. Los System.Windows.Markup.XamlReader de WPF y sus Load pueden procesar palabras clave y características del lenguaje XAML 2009 en una representación válida del gráfico de objetos.
.NET Desktop feedback