Freigeben über


x:Code-XAML-Direktivenelement

Aktualisiert: November 2007

Ermöglicht die Anordnung von Code auf einer XAML-Seite, der von einer beliebigen XAML-Prozessorimplementierung kompiliert wird, die XAML kompiliert, anstatt zu interpretieren.

Verwendung von XAML-Objektelementen

<object>
<x:Code>
   // code instructions, usually enclosed by CDATA...
</x:Code>
</object>

Abhängigkeiten

Das x:Class-Attribut muss ebenfalls im übergeordneten Element bereitgestellt werden, das in der Syntax als object angezeigt wird, und bei dem Element muss es sich um das Stammelement einer Seite handeln. Beim x:Code-Direktivenelement muss es sich um ein unmittelbar untergeordnetes Element des object-Stammelements handeln.

Hinweise

Der Code im x:Code-XAML-Direktivenelement wird trotzdem in den angegebenen XML-Namespaces interpretiert. Deshalb ist es normalerweise notwendig, den Code in einem CDATA-Segment in x:Code einzuschließen.

x:Code ist nicht für alle möglichen Bereitstellungsmechanismen einer XAML-Datei zulässig. Code für WPF muss immer noch kompiliert werden, denn er wird nicht interpretiert oder kurzfristig (just in time) verwendet. x:Code ist innerhalb eines XML Paper Specification (XPS)-Dokuments oder in losen XAML-Daten beispielsweise nicht zulässig.

Der richtige Sprachencompiler für x:Code-Inhalt wird von den Einstellungen und Zielen des enthaltenden Projekts bestimmt, das zum Kompilieren der Anwendung verwendet wird.

Code, der innerhalb von x:Code deklariert wird, verfügt über verschiedene zu beachtende Einschränkungen. Der Code, der in x:Code gesetzt wird, wird bei der Kompilierung so behandelt, als ob er sich innerhalb des Umfangs der partiellen Klasse befindet, die für die jeweilige XAML-Seite bereits erstellt wurde. Deshalb muss es sich beim gesamten von Ihnen definierten Code um Member oder Variablen dieser partiellen Klasse handeln. Sie können keine zusätzlichen Klassen definieren, es sei denn, Sie schachteln eine Klasse in der partiellen Klasse (dies ist zulässig, jedoch ungewöhnlich, weil auf geschachtelte Klassen in XAML nicht verwiesen werden kann). Andere CLR-Namespaces über den Namespace hinaus, der für die vorhandene partielle Klasse verwendet wird, können nicht definiert oder hinzugefügt werden. Verweise auf Codeentitäten außerhalb des partiellen CLR-Klassennamespace müssen jeweils vollqualifiziert sein. Wenn es sich bei deklarierten Membern um Überschreibungen der partiellen Klasse handelt, muss dies mithilfe des sprachspezifischen Überschreibungsschlüsselworts angegeben werden. Wenn für Member Konflikte mit den Membern der partiellen Klasse auftreten, die aus der XAML-Seite erstellt wurde, und der Compiler dies meldet, schlägt das Laden bzw. Kompilieren der XAML-Seite fehl.

Siehe auch

Konzepte

Code-Behind und XAML

Übersicht über XAML

Referenz

x:Class-Attribut