Tipos internos para primitivas de linguagem XAML comuns
O XAML 2009 introduz o suporte em nível de linguagem XAML para vários tipos de dados que são primitivos usados com frequência no CLR (Common Language Runtime) e em outras linguagens de programação. O XAML 2009 adiciona suporte para estas primitivas: x:Object
, , , , x:Decimal
x:String
, x:Char
x:Byte
x:Uri
x:TimeSpan
x:Int32
x:Double
x:Int64
x:Boolean
x:Single
x:Int16
ex:Array
Técnicas anteriores para primitivas de linguagem na marcação XAML
Em XAML para versões anteriores do WPF, você podia fazer referência às primitivas de 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 System namespace. Por exemplo, para usar Int32o , 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>
Primitivas de linguagem XAML 2009
Por convenção, as primitivas de linguagem para XAML e todos os outros elementos de linguagem XAML são mostradas, incluindo o prefixo x:
. É assim que os elementos de 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 suporte CLR, a primitiva corresponde a x:Object
Object.
Essa primitiva normalmente não é usada na marcação de aplicativos, mas pode ser útil para alguns cenários, como verificar a capacidade de atribuição em um sistema de tipo XAML.
x:Booleano
Para suporte CLR, a primitiva corresponde a x:Boolean
Boolean.
O XAML analisa valores como x:Boolean
diferenciando maiúsculas de minúsculas. Note que x:Bool
não é uma alternativa aceita. Para obter a definição de especificação de linguagem XAML, consulte as seções 7.2.17 e 7.4.11 do [MS-XAML].
x:Char
Para suporte CLR, a primitiva corresponde a x:Char
Char.
Os tipos de cadeia de caracteres 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 suporte CLR, a primitiva corresponde a x:String
String.
Os tipos de cadeia de caracteres 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 suporte CLR, a primitiva corresponde a x:Decimal
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 eventual destino do cliente em que o XAML é carregado em tempo de execução.
Para obter a definição de especificação de linguagem XAML, consulte as seções 7.2.14 e 7.4.8 do [MS-XAML].
x:Solteiro
Para suporte CLR, a primitiva corresponde a x:Single
Single.
Além dos valores numéricos, a sintaxe de texto para x:Single
também permite os tokens Infinity
, -Infinity
e NaN
. Esses tokens são tratados como diferenciando maiúsculas de minúsculas.
x:Single
pode suportar valores na 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 suporte CLR, a primitiva corresponde a x:Double
Double.
Além dos valores numéricos, a sintaxe de texto para x:Double
permite os tokens Infinity
, -Infinity
e NaN
. Esses tokens são tratados como diferenciando maiúsculas de minúsculas.
x:Double
pode suportar valores em forma de notação científica. Use o caractere e
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 x:Int16
primitiva corresponde e Int16x:Int16
é tratada como assinada. Em XAML, a ausência de um sinal de adição (+
) na sintaxe de texto é 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.11 e 7.4.5.
x:Int32
Para suporte CLR, a primitiva corresponde a x:Int32
Int32. x:Int32
é tratado como assinado. Em XAML, a ausência de um sinal de adição (+
) na sintaxe de texto é 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 suporte CLR, a primitiva corresponde a x:Int64
Int64. x:Int64
é tratado como assinado. Em XAML, a ausência de um sinal de adição (+
) na sintaxe de texto é 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:Intervalo de tempo
Para suporte CLR, a primitiva corresponde a x:TimeSpan
TimeSpan.
A análise XAML para o formato de data de 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 suporte CLR, a primitiva corresponde a x:Uri
Uri.
A verificação de protocolos não faz parte da definição x:Uri
XAML do .
Para obter a definição de especificação de linguagem XAML, consulte as seções 7.2.15 e 7.4.9 do [MS-XAML].
x:Byte
Para suporte CLR, a primitiva corresponde a x:Byte
Byte. A 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:Array
Para suporte CLR, a primitiva corresponde a x:Array
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 o 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 a forma BAML de XAML não oferecem suporte às palavras-chave e aos 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 do WPF e gráfico de objeto com XamlReader.Load. O WPF System.Windows.Markup.XamlReader e seus Load recursos podem processar palavras-chave e recursos da linguagem XAML 2009 em uma representação de gráfico de objeto válida.
.NET Desktop feedback