Tipos internos primitivos comum de linguagem XAML
XAML 2009 introduz o suporte de nível de linguagem XAML para vários tipos de dados primitivos usados com freqüência no common language runtime (CLR) e em outras linguagens de programação. XAML 2009 adiciona suporte para 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, and x:Array
Este tópico contém as seguintes seções.
- Técnicas anteriores primitivos de linguagem de marcação XAML
- Primitivos de linguagem XAML 2009
- WPF Support
Técnicas anteriores primitivos de linguagem de marcação XAML
Em XAML para versões anteriores do WPF, é possível fazer referência os primitivos de idioma do CLR, mapeando o assembly e namespace que continha uma classe de definição de primitivos de CLR para o.NET Framework. A maioria deles está no assembly mscorlib e System namespace. Por exemplo, para usar Int32, você poderia declarar o seguinte mapeamento (com um exemplo de uso mostrado posteriormente):
<Application xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://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 de linguagem XAML 2009
Por convenção, os primitivos da linguagem XAML e todos os outros elementos de linguagem XAML são mostrados, incluindo o x: prefixo. Isso é como os elementos de linguagem XAML normalmente são usados na marcação do mundo real. Esta convenção é seguida na documentação conceitual para XAML no WPF e também na especificação XAML.
x: objeto
Para fazer o CLR, o x:Object primitivo corresponde a Object.
Esse primitivo não é normalmente usado na marcação de aplicativo, mas pode ser útil para alguns cenários como, por exemplo, a verificação de assignability em um sistema de tipos XAML.
x: Boolean
Para fazer o CLR, o x:Boolean primitivo corresponde a Boolean.
XAML analisa os valores para x:Boolean como maiúsculas de minúsculas. Observe que x:Bool não é um aceito alternativa. Para a definição de especificação de linguagem XAML, consulte seções [MS-XAML], 5.2.17 e 5.4.11.
x: Char.
Para fazer o CLR, o x:Char primitivo corresponde a Char.
Os tipos de cadeia de caracteres e char têm interação com a codificação geral do arquivo no nível do XML. Para a definição de especificação de linguagem XAML, consulte [MS-XAML] seções 5.4.1 e 5.2.7.
x: String.
Para fazer o CLR, o x:String primitivo corresponde a String.
Os tipos de cadeia de caracteres e char têm interação com a codificação geral do arquivo no nível do XML. Para a definição de especificação de linguagem XAML, consulte [MS-XAML] seções 5.2.6.
x: Decimal.
Para fazer o CLR, o x:Decimal primitivo corresponde a Decimal.
Observe que a análise de XAML é inerentemente feita sob en-US cultura. Em en-US a cultura, o separador correto para os componentes de um número decimal é sempre um período (.) independentemente das configurações de cultura do ambiente de desenvolvimento ou de destino eventual cliente onde o XAML é carregado no tempo de execução.
Para a definição de especificação de linguagem XAML, consulte seções [MS-XAML], 5.2.14 e 5.4.8.
x: único.
Para fazer o CLR, o x:Single primitivo corresponde a Single.
Além de para os valores numéricos, a sintaxe de texto para x:Single também permite que os tokens de Infinity, -Infinity, e NaN. Esses tokens são tratados como diferencia maiúsculas de minúsculas.
x:Singlepode oferecer suporte valores no formulário de notação científica, se o primeiro caractere na sintaxe de texto é e ou E.
Para a definição de especificação de linguagem XAML, consulte [MS-XAML] seções 5.4.2 e 5.2.8.
x: duplo
Para fazer o CLR, o x:Double primitivo corresponde a Double.
Além de para os valores numéricos, a sintaxe de texto para x:Double permite que os tokens de Infinity, -Infinity, e NaN. Esses tokens são tratados como diferencia maiúsculas de minúsculas.
x:Doublepode suportar valores no formulário de notação científica, se o primeiro caractere na sintaxe de texto é e ou E.
Para a definição de especificação de linguagem XAML, consulte [MS-XAML] seções 5.4.3 e 5.2.9.
x: Int16.
Para fazer o CLR, o x:Int16 primitivo corresponde a Int16 e x:Int16 é tratado como assinados. No XAML, a ausência de um sinal de mais (+) o sinal na sintaxe de texto está implícito um positivo assinado valor.
Para a definição de especificação de linguagem XAML, consulte seções [MS-XAML], 5.2.11 e 5.4.5.
x: Int32.
Para fazer o CLR, o x:Int32 primitivo corresponde a Int32. x:Int32é tratada como assinados. No XAML, a ausência de um sinal de mais (+) o sinal na sintaxe de texto está implícito um positivo assinado valor.
Para a definição de especificação de linguagem XAML, consulte seções [MS-XAML], 5.2.12 e 5.4.6.
x: Int64.
Para fazer o CLR, o x:Int64 primitivo corresponde a Int64. x:Int64é tratada como assinados. No XAML, a ausência de um sinal de mais (+) o sinal na sintaxe de texto está implícito um positivo assinado valor.
Para a definição de especificação de linguagem XAML, consulte seções [MS-XAML], 5.2.13 e 5.4.7.
x: TimeSpan.
Para fazer o CLR, o x:TimeSpan primitivo corresponde a TimeSpan.
Observe que análise de XAML para o formato de data / hora é inerentemente feito em en-US cultura.
Para a definição de especificação de linguagem XAML, consulte [MS-XAML] seções 5.2.16 e 5.4.10.
x: Uri.
Para fazer o CLR, o x:Uri primitivo corresponde a Uri.
Verificação de protocolos não é parte da definição XAML para x:Uri.
Para a definição de especificação de linguagem XAML, consulte seções [MS-XAML], 5.2.15 e 5.4.9.
x: bytes.
Para fazer o CLR, o x:Byte primitivo corresponde a Byte. A Byte / x:Byte é tratado como unsigned.
Para a definição de especificação de linguagem XAML, consulte [MS-XAML] seções 5.4.4 e 5.2.10.
x: matriz.
Para fazer o CLR, o x:Array primitivo corresponde a Array.
Você pode definir uma matriz em 2006 em XAML usando uma sintaxe de extensão de marcação; No entanto, a sintaxe XAML 2009 é um primitivo idioma definido que não necessitem de acesso a uma extensão de marcação. Para obter mais informações sobre o suporte de XAML de 2006, consulte x:Array de marcação de extensão.
Para a definição de especificação de linguagem XAML, consulte [MS-XAML] seções 5.2.18.
WPF Support
No WPF, você pode usar o recursos de 2009 de XAML, mas apenas para o XAML não é marcação-compilado. Compilado de marcação XAML para WPF e o formulário BAML do XAML não suportam atualmente os recursos e palavras-chave de XAML de 2009.
Um cenário onde você pode usar os recursos de 2009 de XAML com o WPF é se o autor do XAML livre e carregar, em seguida, esse XAML em um gráfico de tempo de execução e o objeto do WPF com XamlReader.Load. O WPF System.Windows.Markup.XamlReader e seus Load pode processar o XAML 2009 palavras-chave e recursos em uma representação de gráfico de objeto válido.