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
.NET Desktop feedback