Tipos internos para primitivos comuns da linguagem XAML
O XAML 2009 apresenta suporte ao nível da linguagem XAML para vários tipos de dados que são frequentemente usados primitivos no CLR (Common Language Runtime) e em outras linguagens de programação. O XAML 2009 adiciona suporte a esses 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
e x:Array
Técnicas anteriores para primitivos de linguagem na marcação XAML
No XAML para versões anteriores do WPF, você pode referenciar os primitivos da linguagem CLR mapeando o assembly e o namespace que continham uma classe de definição primitiva CLR para o .NET Framework. A maioria deles está no assembly mscorlib e no namespace System. Por exemplo, para usar Int32, você pode declarar o mapeamento a seguir (com um exemplo de uso mostrado posteriormente):
<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 da linguagem XAML 2009
Por convenção, os primitivos de linguagem para XAML e todos os outros elementos da linguagem XAML são mostrados, incluindo o prefixo x:
. É assim que os elementos da linguagem XAML normalmente são usados na marcação do mundo real. Essa convenção é seguida na documentação conceitual para XAML no WPF e também na especificação XAML.
x:Object
Para o suporte clr, o x:Object
primitivo corresponde a Object.
Esse primitivo normalmente não é usado na marcação do aplicativo, mas pode ser útil para alguns cenários, como verificar a atribuição em um sistema de tipo XAML.
x:Boolean
Para o suporte clr, o x:Boolean
primitivo corresponde a Boolean.
O XAML analisa valores para x:Boolean
como não diferencia maiúsculas de minúsculas. Observe que x:Bool
não é uma alternativa aceita. Para obter a definição de especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.17 e 7.4.11.
x:Char
Para o suporte clr, o x:Char
primitivo corresponde a Char.
Os tipos de cadeia de caracteres e caracteres têm interação com a codificação geral do arquivo no nível XML. Para obter a definição de especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.7 e 7.4.1.
x:String
Para o suporte clr, o x:String
primitivo corresponde a String.
Os tipos de cadeia de caracteres e caracteres têm interação com a codificação geral do arquivo no nível XML. Para obter a definição de especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.6.
x:Decimal
Para o suporte clr, o x:Decimal
primitivo corresponde a Decimal.
A análise XAML é inerentemente feita em en-US
cultura. Em en-US
cultura, o separador correto para os componentes de uma decimal é sempre um período (.
) independentemente das configurações de cultura do ambiente de desenvolvimento ou do destino do cliente eventual em que o XAML é carregado em tempo de execução.
Para obter a definição de especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.14 e 7.4.8.
x:Single
Para o suporte clr, o x:Single
primitivo corresponde a Single.
Além dos valores numéricos, a sintaxe de texto para x:Single
também permite que os tokens Infinity
, -Infinity
e NaN
. Esses tokens são tratados como diferenciais de maiúsculas de minúsculas.
x:Single
podem dar suporte a valores na forma de notação científica, se o primeiro caractere na sintaxe de texto for e
ou E
.
Para obter a definição de especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.8 e 7.4.2.
x:Double
Para o suporte clr, o x:Double
primitivo corresponde a Double.
Além dos valores numéricos, a sintaxe de texto para x:Double
permite que os tokens Infinity
, -Infinity
e NaN
. Esses tokens são tratados como diferenciais de maiúsculas de minúsculas.
x:Double
podem dar suporte a valores na forma de notação científica. Use o caractere e
ou E
para introduzir a parte exponencial.
Para obter a definição de especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.9 e 7.4.3.
x:Int16
Para o suporte clr, o primitivo x:Int16
corresponde a Int16 e x:Int16
é tratado como assinado. No XAML, a ausência de uma sintaxe de texto de entrada de mais (+
) está implícita como um valor com sinal positivo.
Para obter a definição de especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.11 e 7.4.5.
x:Int32
Para o suporte clr, o x:Int32
primitivo corresponde a Int32.
x:Int32
é tratado como assinado. No XAML, a ausência de uma sintaxe de texto de entrada de mais (+
) está implícita como um valor com sinal positivo.
Para obter a definição de especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.12 e 7.4.6.
x:Int64
Para o suporte clr, o x:Int64
primitivo corresponde a Int64.
x:Int64
é tratado como assinado. No XAML, a ausência de uma sintaxe de texto de entrada de mais (+
) está implícita como um valor com sinal positivo.
Para obter a definição de especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.13 e 7.4.7.
x:TimeSpan
Para o suporte clr, o x:TimeSpan
primitivo corresponde a TimeSpan.
A análise XAML para o formato de data/hora é inerentemente feita em en-US
cultura.
Para obter a definição de especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.16 e 7.4.10.
x:Uri
Para o suporte clr, o x:Uri
primitivo corresponde a Uri.
A verificação de protocolos não faz parte da definição XAML para x:Uri
.
Para obter a definição de especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.15 e 7.4.9.
x:Byte
Para o suporte clr, o x:Byte
primitivo corresponde a Byte. Um Byte / x:Byte
é tratado como sem sinal.
Para obter a definição de especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.10 e 7.4.4.
x:Array
Para o suporte clr, o x:Array
primitivo corresponde a Array.
Você pode definir uma matriz no XAML 2006 usando uma sintaxe de extensão de marcação; no entanto, a sintaxe XAML 2009 é uma primitiva definida pela linguagem que não requer acesso a uma extensão de marcação. Para obter mais informações sobre o suporte ao XAML 2006, consulte de Extensão de Marcação x:Array.
Para obter a definição de especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.18.
Suporte ao WPF
No WPF, você pode usar recursos XAML 2009, mas apenas para XAML que não é compilado por marcação. O XAML compilado por marcação para WPF e a forma BAML de XAML atualmente não dão suporte às palavras-chave e recursos XAML 2009.
Um cenário em que você pode usar recursos XAML 2009 junto com o WPF é se você criar XAML flexível e carregar esse XAML em um gráfico de objeto e runtime do WPF com XamlReader.Load. O System.Windows.Markup.XamlReader do WPF e seus Load podem processar as palavras-chave e os recursos da linguagem XAML 2009 em uma representação válida do grafo de objeto.
.NET Desktop feedback