Udostępnij za pośrednictwem


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ż