Udostępnij za pośrednictwem


x:Class — dyrektywa

Konfiguruje kompilację znaczników XAML w celu łączenia częściowych klas między znacznikami i kodami. Klasa częściowa kodu jest definiowana w osobnym pliku kodu w języku CLS (Common Language Specification), natomiast klasa częściowa znaczników jest zwykle tworzona przez generowanie kodu podczas kompilacji XAML.

Użycie atrybutu języka XAML

<object x:Class="namespace.classname"...>
  ...
</object>

Wartości XAML

Wartość Opis
namespace Opcjonalny. Określa przestrzeń nazw CLR zawierającą klasę częściową zidentyfikowaną przez classname. Jeśli namespace zostanie określony, kropka (.) oddziela namespace wartości i classname. Zobacz uwagi.
classname Wymagane. Określa nazwę CLR klasy częściowej, która łączy załadowany kod XAML i kod-behind dla tego XAML.

Zależności

x:Class Można określić tylko w elemercie głównym produkcji XAML. x:Class jest nieprawidłowy dla dowolnego obiektu, który ma element nadrzędny w środowisku produkcyjnym XAML. Aby uzyskać więcej informacji, zobacz sekcję [MS-XAML] 6.3.1.6.

Uwagi

Wartość namespace może zawierać dodatkowe kropki do organizowania powiązanych przestrzeni nazw w hierarchie nazw, co jest powszechną techniką programowania na platformie .NET. Tylko ostatnia kropka w ciągu x:Class wartości jest interpretowana w celu oddzielenia namespace i classname. klasy, która jest używana jako x:Class nie może być klasą zagnieżdżonych. Zagnieżdżone klasy są niedozwolone, ponieważ określenie znaczenia kropek dla x:Class ciągów jest niejednoznaczne, jeśli zagnieżdżone klasy są dozwolone.

W istniejących modelach programowania korzystających z programu x:Classx:Class jest opcjonalny w tym sensie, że jest całkowicie prawidłowa, aby mieć stronę XAML, która nie ma kodu. Jednak ta funkcja współdziała z akcjami kompilacji zaimplementowanymi przez struktury korzystające z języka XAML. x:Class funkcja ma również wpływ na role, na które mają zastosowanie różne klasyfikacje zawartości określonej przez język XAML w modelu aplikacji i w odpowiednich akcjach kompilacji. Jeśli kod XAML deklaruje wartości atrybutów obsługi zdarzeń lub tworzy wystąpienia elementów niestandardowych, w których klasy definiujące znajdują się w klasie kod-behind, należy podać x:Class odwołanie do dyrektywy (lub x:Subclass) do odpowiedniej klasy dla kodu za pomocą kodu.

Wartość x:Class dyrektywy musi być ciągiem, który określa w pełni kwalifikowaną nazwę klasy, ale bez żadnych informacji o zestawie (odpowiednik ).Type.FullName W przypadku prostych aplikacji można pominąć informacje o przestrzeni nazw CLR, jeśli kod jest również ustrukturyzowany w ten sposób (definicja kodu rozpoczyna się na poziomie klasy).

Plik związany z kodem dla definicji strony lub aplikacji musi znajdować się w pliku kodu dołączonym jako część projektu, który tworzy skompilowany aplikację i obejmuje kompilację znaczników. Należy postępować zgodnie z regułami nazw dla klas CLR. Aby uzyskać więcej informacji, zobacz Framework Design Guidelines (Wytyczne dotyczące projektowania struktury). Domyślnie klasa za pomocą kodu musi być publicnastępująca: jednak można ją zdefiniować na innym poziomie dostępu przy użyciu dyrektywy x:ClassModifier.

Ta interpretacja atrybutu x:Class ma zastosowanie tylko do implementacji XAML opartej na clR, w szczególności do usług XAML platformy .NET. Inne implementacje XAML, które nie są oparte na clR i które nie używają usług XAML platformy .NET, mogą używać innej formuły rozpoznawania do łączenia znaczników XAML i tworzenia kopii zapasowej kodu czasu wykonywania. Aby uzyskać więcej informacji na temat bardziej ogólnych interpretacji , x:Classzobacz [MS-XAML].

Na pewnym poziomie architektury znaczenie funkcji x:Class jest niezdefiniowane w usługach XAML platformy .NET. Dzieje się tak, ponieważ usługi XAML platformy .NET nie określają modelu programowania, za pomocą którego są połączone znaczniki XAML i kod kopii zapasowej. Dodatkowe zastosowania x:Class dyrektywy mogą być implementowane przez określone struktury, które używają modeli programowania lub modeli aplikacji do definiowania sposobu łączenia znaczników XAML i kodu opartego na clR. Każda struktura może mieć własne akcje kompilacji, które umożliwiają niektóre zachowania lub określone składniki, które muszą być uwzględnione w środowisku kompilacji. W ramach platformy akcje kompilacji mogą również różnić się w zależności od określonego języka CLR używanego dla kodu.

x:Class w modelu programowania WPF

W aplikacjach WPF i modelu x:Class aplikacji WPF można zadeklarować jako atrybut dla dowolnego elementu, który jest katalogiem głównym pliku XAML i jest kompilowany (gdzie XAML jest zawarty w projekcie aplikacji WPF z Page akcją kompilacji) lub dla Application katalogu głównego w definicji aplikacji skompilowanej aplikacji WPF. Deklarowanie x:Class elementu innego niż katalog główny strony lub katalog główny aplikacji lub w pliku WPF XAML, który nie jest skompilowany, powoduje błąd czasu kompilacji w kompilatorze .NET Framework 3.0 i .NET Framework 3.5 WPF XAML. Aby uzyskać informacje o innych aspektach x:Class obsługi w WPF, zobacz Code-Behind i XAML w WPF.

x:Class for Windows Workflow Foundation

W przypadku programu Windows Workflow Foundation x:Class nazwij klasę niestandardowego działania złożonego w całości w języku XAML lub nadaj częściowej klasie strony XAML projektantowi działań kod-behind.

Informacje o użyciu programu Silverlight

x:Class Program Silverlight jest udokumentowany oddzielnie. Aby uzyskać więcej informacji, zobacz Funkcje języka XAML (x:) Language Features (Silverlight).

Zobacz też