Partilhar via


Tipos internos para primitivos de linguagem XAML comuns

O XAML 2009 introduz suporte em nível de linguagem XAML para vários tipos de dados que são primitivos usados com freqüência no Common Language Runtime (CLR) e em outras linguagens de programação. O XAML 2009 adiciona suporte para essas 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:Bytee x:Array

Técnicas anteriores para primitivos de linguagem na marcação XAML

Em XAML para versões anteriores do WPF, você poderia fazer referência às primitivas 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 seguinte mapeamento (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 de linguagem XAML 2009

Por convenção, os primitivos de linguagem para XAML e todos os outros elementos de linguagem XAML são mostrados, incluindo o prefixo x:. É assim que os elementos da linguagem XAML são normalmente 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:Objeto

Para o suporte CLR, a primitiva x:Object corresponde a Object.

Essa primitiva não é normalmente usada na marcação do aplicativo, mas pode ser útil para alguns cenários, como a verificação da atribuibilidade em um sistema de tipo XAML.

x:Booleano

Para o suporte CLR, a primitiva x:Boolean corresponde a Boolean.

O XAML analisa valores para x:Boolean como insensíveis a maiúsculas e minúsculas. Note que x:Bool não é uma alternativa aceite. Para obter a definição da especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.17 e 7.4.11.

x:Char

Para o suporte CLR, a primitiva x:Char corresponde a Char.

Os tipos string e char têm interação com a codificação geral do arquivo no nível XML. Para obter a definição de especificação de linguagem XAML, consulte [MS-XAML] Seções 7.2.7 e 7.4.1.

x:Cadeia de caracteres

Para o suporte CLR, a primitiva x:String corresponde a String.

Os tipos string e char têm interação com a codificação geral do arquivo no nível XML. Para obter a definição de especificação de linguagem XAML, consulte [MS-XAML] Seções 7.2.6.

x:Decimal

Para o suporte CLR, a primitiva x:Decimal corresponde a Decimal.

A análise XAML é inerentemente feita sob en-US cultura. Em en-US cultura, o separador correto para os componentes de um decimal é sempre um ponto (.) independentemente das configurações de cultura do ambiente de desenvolvimento ou do destino do cliente eventual onde o XAML é carregado em tempo de execução.

Para obter a definição de especificação de linguagem XAML, consulte [MS-XAML] Seções 7.2.14 e 7.4.8.

x:Simples

Para o suporte CLR, a primitiva x:Single corresponde a Single.

Além dos valores numéricos, a sintaxe de texto para x:Single também permite que os tokens Infinity, -Infinitye NaN. Esses tokens são tratados como diferenciadores de maiúsculas e minúsculas.

x:Single pode suportar valores em forma de notação científica, se o primeiro caractere na sintaxe do texto for e ou E.

Para obter a definição de especificação de linguagem XAML, consulte [MS-XAML] Seções 7.2.8 e 7.4.2.

x:Duplo

Para o suporte CLR, a primitiva x:Double corresponde a Double.

Além dos valores numéricos, a sintaxe de texto para x:Double permite que os tokens Infinity, -Infinitye NaN. Esses tokens são tratados como diferenciadores de maiúsculas e minúsculas.

x:Double pode suportar valores em forma de notação científica. Use o e de caracteres ou E para introduzir a parte expoente.

Para obter a definição de especificação de linguagem XAML, consulte [MS-XAML] Seções 7.2.9 e 7.4.3.

x:Int16

Para o suporte CLR, a primitiva x:Int16 corresponde a Int16 e x:Int16 é tratada como assinada. Em XAML, a ausência de um sinal de mais (+) na sintaxe do texto está implícita como um valor assinado positivo.

Para obter a definição da especificação da linguagem XAML, consulte [MS-XAML] Seções 7.2.11 e 7.4.5.

x:Int32

Para o suporte CLR, a primitiva x:Int32 corresponde a Int32. x:Int32 é tratada como assinada. Em XAML, a ausência de um sinal de mais (+) na sintaxe do texto está implícita como um valor assinado positivo.

Para obter a definição de especificação de linguagem XAML, consulte [MS-XAML] Seções 7.2.12 e 7.4.6.

x:Int64

Para o suporte CLR, a primitiva x:Int64 corresponde a Int64. x:Int64 é tratada como assinada. Em XAML, a ausência de um sinal de mais (+) na sintaxe do texto está implícita como um valor assinado positivo.

Para obter a definição de especificação de linguagem XAML, consulte [MS-XAML] Seções 7.2.13 e 7.4.7.

x:TimeSpan

Para o suporte CLR, a primitiva x:TimeSpan corresponde a TimeSpan.

A análise XAML para o formato de data e hora é inerentemente feita sob en-US cultura.

Para obter a definição de especificação de linguagem XAML, consulte [MS-XAML] Seções 7.2.16 e 7.4.10.

x:Uri

Para o suporte CLR, a primitiva x:Uri 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 de linguagem XAML, consulte [MS-XAML] Seções 7.2.15 e 7.4.9.

x:Byte

Para o suporte CLR, a primitiva x:Byte corresponde a Byte. Um Byte / x:Byte é tratado como não assinado.

Para obter a definição de especificação de linguagem XAML, consulte [MS-XAML] Seções 7.2.10 e 7.4.4.

x:Matriz

Para o suporte CLR, a primitiva x:Array corresponde a Array.

Você pode definir uma matriz em 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 a XAML 2006, consulte x:Array Markup Extension.

Para obter a definição de especificação de linguagem XAML, consulte [MS-XAML] Seções 7.2.18.

Suporte WPF

No WPF, você pode usar recursos XAML 2009, mas somente para XAML que não é compilado por marcação. Atualmente, o XAML compilado por marcação para WPF e o formulário BAML de XAML não suportam atualmente as palavras-chave e os recursos do XAML 2009.

Um cenário em que você pode usar recursos XAML 2009 junto com o WPF é se você criar XAML solto e, em seguida, carregar esse XAML em um tempo de execução WPF e gráfico de objeto com XamlReader.Load. O WPF System.Windows.Markup.XamlReader e seus Load podem processar palavras-chave e recursos da linguagem XAML 2009 em uma representação de gráfico de objeto válida.