XAML 2009-SprachfunktionenXAML 2009 Language Features

XAML 2009 ist der Kurzbegriff für neue XAML-Sprachfunktionen, die die vorhandene XAML-Sprachspezifikation erweitern.XAML 2009 is the shorthand term for new XAML language features that extend the existing XAML language specification. XAML 2009 führt mehrere neue Richtlinien und Konstrukte ein.XAML 2009 introduces several new directives and constructs. Dazu gehören die X: Arguments-Direktive; die X: FactoryMethod-Direktive; die X: Reference Markup Extension; die X: TypeArguments-Direktive ; und integrierte Typen für häufige Sprachprimitive (z. B. x:Char).These include the x:Arguments Directive; the x:FactoryMethod Directive; the x:Reference Markup Extension; the x:TypeArguments Directive; and built-in types for common language primitives (for example x:Char).

XAML 2009-Unterstützung in WPF und Visual StudioXAML 2009 Support in WPF and Visual Studio

In WPF können Sie XAML 2009-Funktionen verwenden, jedoch nur für XAML, das nicht WPF-markupkompiliert ist.In WPF, you can use XAML 2009 features, but only for XAML that is not WPF markup-compiled. Markupkompilierte XAML und die BAML-Form von XAML unterstützen die XAML 2009-Schlüsselwörter und -Funktionen derzeit nicht.Markup-compiled XAML and the BAML form of XAML do not currently support the XAML 2009 language keywords and features.

Beachten Sie, dass vorhandene Techniken zum Laden von Loose XAML in WPF auch mögliche Sicherheits- und Zugriffseinschränkungen auf CLR-Typen und das Typsystem besitzen, die restriktiver als für markupkompilierte XAML sind.Note that existing techniques for loading loose XAML in WPF also have possible security and access restrictions to CLR types and the type system that are more restrictive than for markup-compiled XAML. Weitere Informationen finden Sie unter Sicherheit (WPF) oder WPF-Sicherheitsstrategie – Plattformsicherheit.For more information, see Security (WPF) or WPF Security Strategy - Platform Security.

XAML 2009 führt auch zusätzliche Funktionen ein, die entweder die vorherigen XAML 2006-Konstrukte oder die grundlegenden Markupformulare ändern.XAML 2009 also introduces additional features that either modify the previous XAML 2006 constructs or that modify the basic markup forms.

x:Key als Objektelementx:Key as an Object Element

XAML 2009 kann x:Key als ein Objekt unterstützen (ein Eigenschaftenelement mit Objektelementwert), XAML 2006 unterstützt x:Key dagegen nur als Attribut.XAML 2009 can support x:Key as an object (a property element that has object element value); however, XAML 2006 only supported x:Key as an attribute. Weitere Informationen finden Sie im Abschnitt „XAML 2009“ von x:Key Directive.See the "XAML 2009" section of x:Key Directive.

Xmlns für Eigenschaftenelementexmlns on Property Elements

XAML 2009 kann XAML-Namespacedefinitionen (Xmlns) für Eigenschaftenelemente unterstützen; XAML 2006 unterstützt nur Xmlns-Definitionen für Objektelemente.XAML 2009 can support XAML namespace (xmlns) definitions on property elements; however, XAML 2006 only supports xmlns definitions on object elements.

EreignisattributeEvent Attributes

Für von Ereignissen unterstützte Attribute wird in XAML 2006 davon ausgegangen, dass die Markupkompilierung enthalten ist, und die Ereignisse werden zur Markupkompilierung gesendet.For attributes that are backed by events, XAML 2006 presumes that markup compilation is involved and submits the events to markup compilation. XAML 2009 unterstützt ein Markupformular, das einer Markuperweiterung ähnelt, die die Ereignisverknüpfung bis zur Laufzeitanalyse und dem Laden der XAML zurückstellt.XAML 2009 supports a markup form that resembles a markup extension, which defers the event wiring until run-time parsing and loading of the XAML. Allerdings verwenden WPF-Anwendungen und XAML-Szenarien für WPF-UI in der Regel nicht diese Funktion.However, WPF applications and XAML scenarios for WPF UI generally do not use this capability. WPF und die XAML 2006-Implementierung verwenden für einen Großteil der Ereignisattributverarbeitung eine Kombination aus der Ereignishandlerverknüpfung für Routingereignisse definiert auf UIElement -Ebene und dem Markupcompilerschritt.WPF and its XAML 2006 implementation uses the combination of event handler wiring for routed events defined at the UIElement level and its markup compiler step for much of its event attribute processing. Der Markupcompiler führt auch eine Vorverarbeitung für alle Ereignisattribute in XAML aus, bei denen die Buildvorgänge deklarieren, dass der Markupcompiler verwendet wird.The markup compiler also preprocesses any event attributes found in XAML where the build actions declare that the markup compiler is used.

Siehe auchSee also