x:Code — Typ funkcji XAML
Umożliwia umieszczanie kodu w środowisku produkcyjnym XAML. Taki kod może być kompilowany przez dowolną implementację procesora XAML, która kompiluje kod XAML, lub pozostawiony w środowisku produkcyjnym XAML w celu późniejszego użycia, takiego jak interpretacja przez środowisko uruchomieniowe.
Użycie elementu obiektu języka XAML
<x:Code>
// code instructions, usually enclosed by CDATA...
</x:Code>
Uwagi
Kod w elemecie x:Code
dyrektywy XAML jest nadal interpretowany w obrębie ogólnej przestrzeni nazw XML i udostępnionych przestrzeni nazw XAML. W związku z tym zwykle konieczne jest dołączenie kodu używanego do x:Code
wewnątrz segmentu CDATA
.
x:Code
nie jest dozwolone dla wszystkich możliwych mechanizmów wdrażania środowiska produkcyjnego XAML. W określonych strukturach (na przykład WPF) należy skompilować kod. W innych strukturach x:Code
użycie może być ogólnie niedozwolone.
W przypadku struktur, które zezwalają na zawartość zarządzaną x:Code
, kompilator języka używany dla x:Code
zawartości jest określany przez ustawienia i obiekty docelowe zawierającego projekt używany do kompilowania aplikacji.
Uwagi dotyczące użycia platformy WPF
Kod zadeklarowany w ramach x:Code
WPF ma kilka istotnych ograniczeń:
Element
x:Code
dyrektywy musi być bezpośrednim elementem podrzędnym elementu głównego produkcji XAML.x:Class, dyrektywa musi być podana w nadrzędnym elemecie głównym.
Kod umieszczony w ramach
x:Code
programu będzie traktowany przez kompilację w zakresie klasy częściowej, która jest już tworzona dla tej strony XAML. W związku z tym cały zdefiniowany kod musi być elementami członkowskimi lub zmiennymi tej klasy częściowej.Nie można zdefiniować dodatkowych klas, poza zagnieżdżaniem klasy wewnątrz klasy częściowej (zagnieżdżanie jest dozwolone, ale nie jest typowe, ponieważ nie można odwoływać się do klas zagnieżdżonych w języku XAML). Przestrzenie nazw CLR inne niż przestrzeń nazw używana dla istniejącej klasy częściowej nie mogą być zdefiniowane ani dodane do.
Odwołania do jednostek kodu spoza przestrzeni nazw CLR klasy częściowej muszą być w pełni kwalifikowane. Jeśli zadeklarowane elementy członkowskie są zastępowane do częściowych składowych, które można zastąpić klasą, należy to określić za pomocą słowa kluczowego zastąpienia specyficznego dla języka. Jeśli składowe zadeklarowane w
x:Code
zakresie powodują konflikt z elementami członkowskimi klasy częściowej utworzonej z kodu XAML, w taki sposób, że kompilator zgłasza konflikt, plik XAML nie może skompilować ani załadować.
Zobacz też
.NET Desktop feedback