Dela via


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:Byteoch 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, -Infinityoch 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, -Infinityoch 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.