x:Class-Direktivex:Class Directive

Konfiguriert die XAML-Markup Kompilierung so, dass partielle Klassen zwischen Markup und Code Behind verknüpft werden.Configures XAML markup compilation to join partial classes between markup and code-behind. Die partielle Code Klasse wird in einer separaten Codedatei in einer Common Language Specification (CLS)-Sprache definiert, wohingegen die partielle Markup Klasse bei der XAML-Kompilierung normalerweise von der Codegenerierung erstellt wird.The code partial class is defined in a separate code file in a Common Language Specification (CLS) language, whereas the markup partial class is typically created by code generation during XAML compilation.

Verwendung von XAML-AttributenXAML Attribute Usage

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

XAML-WerteXAML Values

namespace Optional.Optional. Gibt einen CLR-Namespace an, der die durch classnameidentifizierte partielle Klasse enthält.Specifies a CLR namespace that contains the partial class identified by classname. Wenn namespace angegeben wird, werden von einem Punkt (. namespace ) classnameund getrennt.If namespace is specified, a dot (.) separates namespace and classname. Siehe Hinweise.See Remarks.
classname Erforderlich.Required. Gibt den CLR-Namen der partiellen Klasse an, die die geladene XAML und den Code Behind für dieses XAML verbindet.Specifies the CLR name of the partial class that connects the loaded XAML and your code-behind for that XAML.

AbhängigkeitenDependencies

x:Classkann nur für das Stamm Element einer XAML-Produktion angegeben werden.x:Class can only be specified on the root element of a XAML production. x:Classist für ein Objekt, das über ein übergeordnetes Element in der XAML-Produktion verfügt, ungültig.x:Class is invalid on any object that has a parent in the XAML production. Weitere Informationen finden [Sie im Abschnitt zu MS-] XAML 4.3.1.6.For more information, see [MS-XAML] Section 4.3.1.6.

HinweiseRemarks

Der namespace Wert kann zusätzliche Punkte enthalten, um verwandte Namespaces in namens Hierarchien zu organisieren. Dies ist ein gängiges Verfahren bei der .NET Framework Programmierung.The namespace value may contain additional dots to organize related namespaces into name hierarchies, which is a common technique in .NET Framework programming. Nur der letzte Punkt in einer Zeichenfolge x:Class von Werten wird als getrennt namespace interpretiert classname. , und die Klasse, die x:Class als verwendet wird, kann keine untergeordnete Klasse sein.Only the last dot in a string of x:Class values is interpreted to separate namespace and classname. The class that is used as x:Class cannot be a nested class. Es sind keine untergeordneten Klassen zulässig, da die Bestimmung der Bedeutung x:Class von Punkten für Zeichen folgen mehrdeutig ist, wenn die zulässigen Klassen zulässig sind.Nested classes are not allowed because determining the meaning of dots for x:Class strings is ambiguous if nested classes are permitted.

In vorhandenen Programmier Modellen, die x:Classverwenden x:Class , ist in dem Sinne optional, dass eine XAML-Seite ohne Code Behind vollständig gültig ist.In existing programming models that use x:Class, x:Class is optional in the sense that it is entirely valid to have a XAML page that has no code-behind. Diese Funktion interagiert jedoch mit den Build-Aktionen, die von Frameworks implementiert werden, die XAML verwenden.However, that capability interacts with the build actions as implemented by frameworks that use XAML. x:Classdie Funktion wird auch von den Rollen beeinflusst, die verschiedene Klassifizierungen von XAML-spezifiziertem Inhalt in einem Anwendungsmodell und in den entsprechenden Buildaktionen aufweisen.x:Class capability is also influenced by the roles that various classifications of XAML-specified content have in an application model and in the corresponding build actions. Wenn Ihr XAML-Attributwerte für die Ereignis Behandlung deklariert oder benutzerdefinierte Elemente instanziiert, in denen sich die definierenden Klassen in der Code-Behind- x:Class Klasse befinden, müssen Sie den direktivenverweis (oder x:Subclass) der entsprechenden Klasse für angeben. Code Behind.If your XAML declares event-handling attribute values or instantiates custom elements where the defining classes are in the code-behind class, you have to provide the x:Class directive reference (or x:Subclass) to the appropriate class for code-behind.

Der Wert der x:Class -Direktive muss eine Zeichenfolge sein, die den voll qualifizierten Namen einer Klasse, aber ohne Assemblyinformationen ( Type.FullNameentspricht) angibt.The value of the x:Class directive must be a string that specifies the fully qualified name of a class but without any assembly information (equivalent to the Type.FullName). Bei einfachen Anwendungen können Sie CLR-Namespace Informationen weglassen, wenn der Code-Behind auch auf diese Weise strukturiert ist (die Code Definition beginnt auf Klassenebene).For simple applications, you can omit CLR namespace information if the code-behind is also structured in that manner (code definition starts at the class level).

Die Code-Behind-Datei für eine Seiten-oder Anwendungs Definition muss sich in einer Codedatei befinden, die als Teil des Projekts enthalten ist, das eine kompilierte Anwendung erstellt und eine Markup Kompilierung umfasst.The code-behind file for a page or application definition must be within a code file that is included as part of the project that produces a compiled application and involves markup compilation. Sie müssen den namens Regeln für CLR-Klassen folgen.You must follow name rules for CLR classes. Weitere Informationen finden Sie unter Framework-Entwurfs Richtlinien.For more information, see Framework Design Guidelines. Standardmäßig muss die Code-Behind-Klasse lauten public. Sie können Sie jedoch auf einer anderen Zugriffsebene definieren, indem Sie die x:ClassModifier-Direktiveverwenden.By default, the code-behind class must be public; however, you can define it at a different access level by using the x:ClassModifier Directive.

Diese Interpretation des x:Class -Attributs gilt nur für eine CLR-basierte XAML-Implementierung, insbesondere für die .NET Framework von XAML-Diensten.This interpretation of the x:Class attribute applies only to a CLR-based XAML implementation, in particular to .NET Framework XAML Services. Andere XAML-Implementierungen, die nicht auf CLR basieren und keine .NET Framework XAML-Dienste verwenden, verwenden möglicherweise eine andere Auflösungs Formel zum Verbinden von XAML-Markup und zum unterstützen von Lauf Zeit Code.Other XAML implementations that are not based on CLR and that do not use .NET Framework XAML Services might use a different resolution formula for connecting XAML markup and backing run-time code. Weitere Informationen zu allgemeineren Interpretationen von x:Classfinden [Sie unter MS-XAML.]For more information about more general interpretations of x:Class, see [MS-XAML].

Auf einer bestimmten Architekturebene ist die Bedeutung von x:Class in .NET Framework XAML-Diensten nicht definiert.At a certain level of architecture, the meaning of x:Class is undefined in .NET Framework XAML Services. Dies liegt daran, dass .NET Framework XAML-Dienste nicht das Programmiermodell angibt, mit dem XAML-Markup und Unterstützungs Code verbunden sind.This is because .NET Framework XAML Services does not specify the programming model by which XAML markup and backing code are connected. Zusätzliche Verwendungsmöglichkeiten der x:Class -Direktive können von bestimmten Frameworks implementiert werden, die Programmier Modelle oder Anwendungsmodelle verwenden, um zu definieren, wie XAML-Markup und CLR-basiertes Code Behind miteinander verbunden werden.Additional uses of the x:Class directive might be implemented by specific frameworks that use programming models or application models to define how to connect XAML markup and CLR-based code-behind. Jedes Framework kann über eigene Buildaktionen verfügen, die ein Teil des Verhaltens oder bestimmte Komponenten ermöglichen, die in der Buildumgebung enthalten sein müssen.Each framework can have its own build actions that enable some of the behavior or specific components that must be included in the build environment. Innerhalb eines Frameworks können Buildaktionen auch abhängig von der spezifischen CLR-Sprache variieren, die für den Code-Behind verwendet wird.Within a framework, build actions can also vary depending on the specific CLR language that is used for the code-behind.

x:Class im WPF-Programmiermodellx:Class in the WPF Programming Model

In WPF-Anwendungen und im WPF-Anwendungs x:Class Modell kann als Attribut für jedes Element deklariert werden, das das Stamm Element einer XAML-Datei ist und kompiliert wird (wobei der XAML-Code in einem WPF-Anwendungs Page Projekt mit Buildaktion enthalten ist), oder für das < C4 Application = root in der Anwendungs Definition einer kompilierten WPF-Anwendung.In WPF applications and the WPF application model, x:Class can be declared as an attribute for any element that is the root of a XAML file and is being compiled (where the XAML is included in a WPF application project with Page build action), or for the Application root in the application definition of a compiled WPF application. Das x:Class Deklarieren von für ein anderes Element als ein Seiten Stamm-oder Anwendungs Stamm oder für eine nicht kompilierte WPF-XAML-Datei verursacht einen Kompilierzeitfehler unter dem .NET Framework 3,0 und .NET Framework 3,5 WPF-XAML-Compiler.Declaring x:Class on an element other than a page root or application root, or on a WPF XAML file that is not compiled, causes a compile-time error under the .NET Framework 3.0 and .NET Framework 3.5 WPF XAML compiler. Weitere Informationen zu anderen Aspekten der x:Class Handhabung von in WPF finden Sie unter Code-Behind und XAML in WPF.For information about other aspects of x:Class handling in WPF, see Code-Behind and XAML in WPF.

x:Class für Windows Workflow Foundationx:Class for Windows Workflow Foundation

Für Windows Workflow Foundation x:Class benennt die Klasse einer benutzerdefinierten Aktivität, die vollständig in XAML verfasst ist, oder benennt die partielle Klasse der XAML-Seite für einen Aktivitäts Designer mit Code Behind.For Windows Workflow Foundation, x:Class names the class of a custom activity composed entirely in XAML, or names the partial class of the XAML page for an activity designer with code-behind.

Silverlight-VerwendungshinweiseSilverlight Usage Notes

x:Class für Silverlight wird separat dokumentiert.x:Class for Silverlight is documented separately. Weitere Informationen finden Sie unter XAML-Namespace (x:). Sprach Features (Silverlight).For more information, see XAML Namespace (x:) Language Features (Silverlight).

Siehe auchSee also