Inbyggda typer för vanliga XAML-språkpri primitiver
XAML 2009 introducerar stöd på XAML-språknivå för flera datatyper som ofta används primitiver i CLR (Common Language Runtime) och i andra programmeringsspråk. XAML 2009 lägger till stöd för dessa primitiver: 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
och x:Array
Tidigare tekniker för språkpri primitiver i XAML-markering
I XAML för tidigare WPF-versioner kan du referera till CLR-språkprimiterna genom att mappa sammansättningen och namnområdet som innehöll en CLR-primitiv definitionsklass för .NET Framework. De flesta av dessa finns i mscorlib-sammansättningen och System namnrymd. Om du till exempel vill använda Int32kan du deklarera följande mappning (med ett exempel på användning som visas därefter):
<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>
XAML 2009 Language Primitives
Enligt konvention visas språkprimiterna för XAML och alla andra XAML-språkelement, inklusive prefixet x:
. Det är så här XAML-språkelement vanligtvis används i verkliga markeringar. Den här konventionen följs i den konceptuella dokumentationen för XAML i WPF och även i XAML-specifikationen.
x:Object
För CLR-stöd motsvarar den x:Object
primitiva Object.
Den här primitiva metoden används vanligtvis inte i programpålägg, men kan vara användbar för vissa scenarier, till exempel kontroll av tilldelningsbarhet i ett XAML-typsystem.
x:Booleskt
För CLR-stöd motsvarar den x:Boolean
primitiva Boolean.
XAML parsar värden för x:Boolean
som skiftlägesokänsliga. Observera att x:Bool
inte är ett godkänt alternativ. För XAML-språkspecifikationsdefinitionen, se [MS-XAML] avsnitten 7.2.17 och 7.4.11.
x:Char
För CLR-stöd motsvarar den x:Char
primitiva Char.
Sträng- och teckentyper har interaktion med den övergripande kodningen av filen på XML-nivå. För XAML-språkspecifikationsdefinitionen, se [MS-XAML] avsnitten 7.2.7 och 7.4.1.
x:String
För CLR-stöd motsvarar den x:String
primitiva String.
Sträng- och teckentyper har interaktion med den övergripande kodningen av filen på XML-nivå. För XAML-språkspecifikationsdefinitionen, se [MS-XAML] Avsnitt 7.2.6.
x:Decimal
För CLR-stöd motsvarar den x:Decimal
primitiva Decimal.
XAML-parsning görs i sig under en-US
kultur. Under en-US
kultur är rätt avgränsare för komponenterna i en decimal alltid en punkt (.
) oavsett kulturinställningarna i utvecklingsmiljön eller det slutliga klientmålet där XAML läses in vid körning.
För XAML-språkspecifikationsdefinitionen, se [MS-XAML] avsnitten 7.2.14 och 7.4.8.
x:Single
För CLR-stöd motsvarar den x:Single
primitiva Single.
Förutom de numeriska värdena tillåter textsyntaxen för x:Single
även token Infinity
, -Infinity
och NaN
. Dessa token behandlas som skiftlägeskänsliga.
x:Single
kan stödja värden i vetenskaplig notationsform, om det första tecknet i textsyntaxen är e
eller E
.
För XAML-språkspecifikationsdefinitionen, se [MS-XAML] avsnitten 7.2.8 och 7.4.2.
x:Double
För CLR-stöd motsvarar den x:Double
primitiva Double.
Förutom de numeriska värdena tillåter textsyntax för x:Double
token Infinity
, -Infinity
och NaN
. Dessa token behandlas som skiftlägeskänsliga.
x:Double
kan stödja värden i vetenskaplig notationsform. Använd tecknet e
eller E
för att introducera exponentdelen.
För XAML-språkspecifikationsdefinitionen, se [MS-XAML] avsnitten 7.2.9 och 7.4.3.
x:Int16
För CLR-stöd motsvarar x:Int16
primitiva Int16 och x:Int16
behandlas som signerade. I XAML är avsaknaden av plus (+
) tecken på textsyntax underförstådd som ett positivt signerat värde.
För XAML-språkspecifikationsdefinitionen, se [MS-XAML] avsnitten 7.2.11 och 7.4.5.
x:Int32
För CLR-stöd motsvarar den x:Int32
primitiva Int32.
x:Int32
behandlas som signerad. I XAML är avsaknaden av plus (+
) tecken på textsyntax underförstådd som ett positivt signerat värde.
För XAML-språkspecifikationsdefinitionen, se [MS-XAML] avsnitten 7.2.12 och 7.4.6.
x:Int64
För CLR-stöd motsvarar den x:Int64
primitiva Int64.
x:Int64
behandlas som signerad. I XAML är avsaknaden av plus (+
) tecken på textsyntax underförstådd som ett positivt signerat värde.
För XAML-språkspecifikationsdefinitionen, se [MS-XAML] avsnitten 7.2.13 och 7.4.7.
x:TimeSpan
För CLR-stöd motsvarar den x:TimeSpan
primitiva TimeSpan.
XAML-parsning för tidsdatumformat görs i sig under en-US
kultur.
För XAML-språkspecifikationsdefinitionen, se [MS-XAML] avsnitten 7.2.16 och 7.4.10.
x:Uri
För CLR-stöd motsvarar den x:Uri
primitiva Uri.
Kontroll av protokoll ingår inte i XAML-definitionen för x:Uri
.
För XAML-språkspecifikationsdefinitionen, se [MS-XAML] avsnitten 7.2.15 och 7.4.9.
x:Byte
För CLR-stöd motsvarar den x:Byte
primitiva Byte. En Byte / x:Byte
behandlas som osignerad.
För XAML-språkspecifikationsdefinitionen, se [MS-XAML] avsnitten 7.2.10 och 7.4.4.
x:Array
För CLR-stöd motsvarar den x:Array
primitiva Array.
Du kan definiera en matris i XAML 2006 med hjälp av en syntax för markeringstillägg. XAML 2009-syntaxen är dock en språkdefinierad primitiv som inte kräver åtkomst till ett tillägg för markering. Mer information om XAML 2006-stöd finns i x:Array Markup Extension.
För XAML-språkspecifikationsdefinitionen, se [MS-XAML] Avsnitt 7.2.18.
WPF-support
I WPF kan du använda XAML 2009-funktioner men bara för XAML som inte är påläggskompilerad. Påläggskompilerade XAML för WPF och BAML-formen av XAML stöder för närvarande inte XAML 2009-nyckelord och -funktioner.
Ett scenario där du kan använda XAML 2009-funktioner tillsammans med WPF är om du skapar lös XAML och sedan läser in XAML i en WPF-körning och objektdiagram med XamlReader.Load. WPF-System.Windows.Markup.XamlReader och dess Load kan bearbeta nyckelord och funktioner för XAML 2009-språk till en giltig objektgrafrepresentation.
.NET Desktop feedback