Freigeben über


Systeminterner x:Code-XAML-Typ

Ermöglicht die Platzierung von Code in einer XAML-Produktion. Dieser Code kann entweder von jeder XAML-Prozessorimplementierung kompiliert werden, die XAML kompiliert oder zur späteren Verwendung, z. B. Interpretation durch eine Laufzeit, in der XAML-Produktion verbleiben.

Verwendung von XAML-Objektelementen

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

Hinweise

Der Code im XAML-Direktivenelement x:Code wird weiterhin innerhalb des bereitgestellten XML-Namespace und den bereitgestellten XAML-Namespaces interpretiert. Daher ist es in der Regel erforderlich, den für x:Code verwendeten Code in einem CDATA-Segment einzuschließen.

x:Code ist für keine der möglichen Bereitstellungsmechanismen einer XAML-Produktion zulässig. In bestimmten Frameworks (z. B. WPF) muss der Code kompiliert werden. In anderen Frameworks ist die Verwendung von x:Code nie zulässig.

Für Frameworks, die verwaltete x:Code-Inhalte zulassen, wird der richtige Sprachcompiler für x:Code-Inhalte durch Einstellungen und Ziele des enthaltenden Projekts bestimmt, das zum Kompilieren der Anwendung verwendet wird.

Hinweise zur WPF-Verwendung

Für innerhalb von x:Code für WPF deklarierten Code gelten mehrere wichtige Einschränkungen:

  • Das x:Code-Direktivenelement muss ein direktes untergeordnetes Element des Stammelements der XAML-Produktion sein.

  • Die x:Class-Direktive muss im das übergeordnete Stammelement bereitgestellt sein.

  • Der innerhalb von x:Code platzierte Code wird von der Kompilierung als im Bereich der bereits für diese XAML-Seite erstellten Teilklasse befindlich behandelt. Daher muss sämtlicher von Ihnen definierter Code Member oder Variablen dieser partiellen Klasse sein.

  • Sie können keine zusätzlichen Klassen definieren, außer durch das Verschachteln einer Klasse innerhalb der Teilklasse (Schachtelung ist zulässig, aber nicht typisch, weil geschachtelte Klassen nicht in XAML referenziert werden können). CLR-Namespaces außer dem Namespace, 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-Namespaces müssen vollständig qualifiziert sein. Wenn Member deklariert werden, die überschreibbare Member der partiellen Klasse überschreiben, muss dies mit dem sprachspezifischen Überschreibungsschlüsselwort angegeben werden. Wenn im x:Code-Bereich deklarierte Member in Konflikt mit Membern der partiellen Klasse stehen, die aus dem XAML-Code erstellt wurden, sodass der Compiler den Konflikt meldet, kann die XAML-Datei nicht kompiliert oder geladen werden.

Weitere Informationen