x:Code, wewnętrzny typ 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 XAML
<x:Code>
// code instructions, usually enclosed by CDATA...
</x:Code>
Uwagi
Kod w ramach elementu dyrektywy XAML x:Code
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 użycie x:Code
może być ogólnie niedozwolone.
W przypadku struktur, które zezwalają na zarządzaną zawartość x:Code
, kompilator języka używany do 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 x:Code
dla WPF ma kilka istotnych ograniczeń:
Element dyrektywy
x:Code
musi być bezpośrednim elementem podrzędnym elementu głównego produkcji XAML.x:Klasa Dyrektywy musi być podana w nadrzędnym elemecie głównym.
Kod umieszczony w
x:Code
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 elementy członkowskie zadeklarowane w zakresie
x:Code
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ż
- x:Class Directive
- Code-Behind i XAML w WPF
-
przeglądu XAML (WPF .NET)
.NET Desktop feedback