Integrierte Typen für allgemeine XAML-Sprachgrundtypen
XAML 2009 bietet Unterstützung auf XAML-Sprachebene für mehrere Datentypen, die häufig verwendete Grundtypen in der Common Language Runtime (CLR) und in anderen Programmiersprachen sind. XAML 2009 bietet Unterstützung für diese Grundtypen: 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
und x:Array
Frühere Techniken für Sprachgrundtypen im XAML-Markup
In XAML für frühere WPF-Versionen können Sie auf die CLR-Sprachgrundtypen verweisen, indem Sie die Assembly und den Namespace zuordnen, die eine CLR-Grundtypdefinitionsklasse für .NET Framework enthalten. Die meisten dieser Elemente befinden sich in der Mscorlib-Assembly und System Namespace. Wenn Sie z. B. Int32verwenden möchten, können Sie die folgende Zuordnung deklarieren (mit einem anschließenden Beispiel für die Verwendung):
<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-Sprachgrundtypen
Standardmäßig werden die Sprachgrundtypen für XAML und alle anderen XAML-Sprachelemente angezeigt, einschließlich des Präfixes x:
. So werden XAML-Sprachelemente in der Regel in realen Markups verwendet. Diese Konvention wird in der konzeptionellen Dokumentation für XAML in WPF und auch in der XAML-Spezifikation befolgt.
x:Object
Bei CLR-Sicherung entspricht der x:Object
Grundtyp Object.
Dieser Grundtyp wird in der Regel nicht im Anwendungsmarkup verwendet, kann aber für einige Szenarien nützlich sein, z. B. die Überprüfung der Zuweisungsfähigkeit in einem XAML-Typsystem.
x:Boolean
Bei CLR-Sicherung entspricht der x:Boolean
Grundtyp Boolean.
XAML analysiert Werte für x:Boolean
bei nicht beachteter Groß-/Kleinschreibung. Beachten Sie, dass x:Bool
keine akzeptierte Alternative ist. Die XAML-Sprachspezifikationsdefinition finden Sie unter [MS-XAML] Sections 7.2.17 and 7.4.11.
x:Char
Bei CLR-Sicherung entspricht der x:Char
Grundtyp Char.
Zeichenfolgen- und Zeichentypen haben Interaktion mit der allgemeinen Codierung der Datei auf XML-Ebene. Die XAML-Sprachspezifikationsdefinition finden Sie in [MS-XAML] Abschnitten 7.2.7 und 7.4.1.
x:String
Bei CLR-Sicherung entspricht der x:String
Grundtyp String.
Zeichenfolgen- und Zeichentypen haben Interaktion mit der allgemeinen Codierung der Datei auf XML-Ebene. Die XAML-Sprachspezifikationsdefinition finden Sie unter [MS-XAML] Sections 7.2.6.
x:Decimal
Bei CLR-Sicherung entspricht der x:Decimal
Grundtyp Decimal.
Die XAML-Analyse erfolgt inhärent unter en-US
Kultur. Unter en-US
Kultur ist das richtige Trennzeichen für die Komponenten eines Dezimalzeichens immer ein Punkt (.
), unabhängig von den Kultureinstellungen der Entwicklungsumgebung oder vom letztendlichen Clientziel, in dem der XAML-Code zur Laufzeit geladen wird.
Die XAML-Sprachspezifikationsdefinition finden Sie in [MS-XAML] Abschnitten 7.2.14 und 7.4.8.
x:Single
Bei CLR-Sicherung entspricht der x:Single
Grundtyp Single.
Neben den numerischen Werten erlaubt die Textsyntax für x:Single
auch die Token Infinity
, -Infinity
und NaN
. Diese Token werden als Groß-/Kleinschreibung behandelt.
x:Single
können Werte in wissenschaftlicher Schreibweise unterstützen, wenn das erste Zeichen in der Textsyntax e
oder E
ist.
Die XAML-Sprachspezifikationsdefinition finden Sie in [MS-XAML] Abschnitten 7.2.8 und 7.4.2.
x:Double
Bei CLR-Sicherung entspricht der x:Double
Grundtyp Double.
Neben den numerischen Werten erlaubt die Textsyntax für x:Double
die Token Infinity
, -Infinity
und NaN
. Diese Token werden als Groß-/Kleinschreibung behandelt.
x:Double
können Werte in wissenschaftlicher Schreibweise unterstützen. Verwenden Sie das Zeichen e
oder E
, um den exponenten Teil einzuführen.
Die XAML-Sprachspezifikationsdefinition finden Sie in [MS-XAML] Abschnitten 7.2.9 und 7.4.3.
x:Int16
Bei CLR-Sicherung entspricht der x:Int16
Grundtyp Int16 und x:Int16
als signiert behandelt wird. In XAML wird das Fehlen eines Pluszeichens (+
) der Textsyntax als positiver signierter Wert impliziert.
Die XAML-Sprachspezifikationsdefinition finden Sie in [MS-XAML] Abschnitten 7.2.11 und 7.4.5.
x:Int32
Bei CLR-Sicherung entspricht der x:Int32
Grundtyp Int32.
x:Int32
wird als signiert behandelt. In XAML wird das Fehlen eines Pluszeichens (+
) der Textsyntax als positiver signierter Wert impliziert.
Die XAML-Sprachspezifikationsdefinition finden Sie in [MS-XAML] Abschnitten 7.2.12 und 7.4.6.
x:Int64
Bei CLR-Sicherung entspricht der x:Int64
Grundtyp Int64.
x:Int64
wird als signiert behandelt. In XAML wird das Fehlen eines Pluszeichens (+
) der Textsyntax als positiver signierter Wert impliziert.
Die XAML-Sprachspezifikationsdefinition finden Sie in [MS-XAML] Abschnitten 7.2.13 und 7.4.7.
x:TimeSpan
Bei CLR-Sicherung entspricht der x:TimeSpan
Grundtyp TimeSpan.
Die XAML-Analyse für das Zeitdatumsformat erfolgt inhärent unter en-US
Kultur.
Die XAML-Sprachspezifikationsdefinition finden Sie in [MS-XAML] Abschnitten 7.2.16 und 7.4.10.
x:Uri
Bei CLR-Sicherung entspricht der x:Uri
Grundtyp Uri.
Die Überprüfung auf Protokolle ist nicht Teil der XAML-Definition für x:Uri
.
Die XAML-Sprachspezifikationsdefinition finden Sie in [MS-XAML] Abschnitten 7.2.15 und 7.4.9.
x:Byte
Bei CLR-Sicherung entspricht der x:Byte
Grundtyp Byte. Ein Byte / x:Byte
wird als nicht signiert behandelt.
Die XAML-Sprachspezifikationsdefinition finden Sie in [MS-XAML] Abschnitten 7.2.10 und 7.4.4.
x:Array
Bei CLR-Sicherung entspricht der x:Array
Grundtyp Array.
Sie können ein Array in XAML 2006 mithilfe einer Markuperweiterungssyntax definieren. Die XAML 2009-Syntax ist jedoch ein sprachdefinierter Grundtyp, der keinen Zugriff auf eine Markuperweiterung erfordert. Weitere Informationen zur XAML 2006-Unterstützung finden Sie unter x:Array Markup Extension.
Die XAML-Sprachspezifikationsdefinition finden Sie unter [MS-XAML] Sections 7.2.18.
WPF-Unterstützung
In WPF können Sie XAML 2009-Features verwenden, jedoch nur für XAML, die nicht markupkompiliert sind. Markupkompiliertes XAML für WPF und die BAML-Form von XAML unterstützen derzeit nicht die XAML 2009-Schlüsselwörter und -Features.
Ein Szenario, in dem Sie XAML 2009-Features zusammen mit WPF verwenden können, ist, wenn Sie lose XAML erstellen und diese XAML dann in eine WPF-Laufzeit- und Objektdiagramm mit XamlReader.Loadladen. Die WPF-System.Windows.Markup.XamlReader und deren Load können XAML 2009-Sprachstichwörter und -Features in einer gültigen Objektdiagrammdarstellung verarbeiten.
.NET Desktop feedback