x:Class-Direktivex:Class Directive

Konfiguriert die XAML-Markup-Kompilierung um partielle Klassen zwischen Markup und Code-Behind zu verknüpfen.Configures XAML markup compilation to join partial classes between markup and code-behind. Die partielle Klasse im Code wird in einer separaten Codedatei im definiert eine Common Language Specification (CLS)Common Language Specification (CLS) Sprache, während die partielle Klasse im Markup durch Generierung von Code während der Kompilierung von XAML in der Regel erstellt wird.The code partial class is defined in a separate code file in a Common Language Specification (CLS)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 Dies ist optional.Optional. Gibt an, eine CLRCLR Namespace, der die partielle Klasse identifizierte enthält classname.Specifies a CLRCLR namespace that contains the partial class identified by classname. Wenn namespace angegeben ist, einen Punkt (.) getrennt namespace und classname.If namespace is specified, a dot (.) separates namespace and classname. Siehe Hinweise.See Remarks.
classname Erforderlich.Required. Gibt an, die CLRCLR Name der partiellen Klasse, die die geladene XAML und der Code-Behind für diese XAML verbunden werden.Specifies the CLRCLR name of the partial class that connects the loaded XAML and your code-behind for that XAML.

AbhängigkeitenDependencies

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

HinweiseRemarks

Die namespace Wert enthält möglicherweise zusätzliche Punkte zum Organisieren von verwandten Namespaces in Namenshierarchien, dies ist ein gängiges Verfahren in .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 Werte wird als separate interpretiert namespace und classname. die Klasse, die verwendet wird, als x:Class eine geschachtelte Klasse nicht möglich.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. Geschachtelte Klassen sind nicht zulässig, da die Bedeutung der Punkte für die Bestimmung x:Class Zeichenfolgen ist mehrdeutig, wenn geschachtelte 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 Programmiermodelle, mit denen x:Class, x:Class ist in dem Sinne, dass es vollständig gültig ist, wird eine XAML-Seite verwendet, die keine Code-Behind ist optional.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. Allerdings werden diese Fähigkeit mit den Buildvorgängen interagiert, wie von Frameworks implementiert wird, die XAML verwenden.However, that capability interacts with the build actions as implemented by frameworks that use XAML. x:Class Funktion wird durch die Rollen auch beeinflusst, dass die verschiedenen Klassifizierungen des angegebenen XAML-Inhalt in einem Anwendungsmodell haben, und erstellen in den entsprechenden Aktionen.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 Ihre XAML wird deklariert, zur Verarbeitung von Ereignissen Attribut Werte oder benutzerdefinierte Elemente, in denen die definierenden Klassen in der CodeBehind-Klasse sind, instanziiert, müssen Sie angeben der x:Class -Direktive Verweis (oder X: Subclass-) auf der entsprechende Klasse für CodeBehind.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 des der x:Class Richtlinie muss eine Zeichenfolge, die den vollqualifizierten Namen einer Klasse, aber ohne Assemblyinformationen gibt an (entspricht der Type.FullName).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). Für einfache Anwendungen können Sie CLR-Namespaceinformationen weglassen, wenn das Code-Behind auch auf diese Weise (Code Definition beginnt auf der Klassenebene) strukturiert sind.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).

Der Code-Behind-Datei für die Definition einer Seite oder Anwendung muss innerhalb einer Codedatei, die als Teil des Projekts enthalten ist, die eine kompilierte Anwendung erstellt und umfasst die Markupkompilierung enthalten ist.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 Regeln für CLR-Klassen befolgen.You must follow name rules for CLR classes. Weitere Informationen finden Sie unter Framework-Entwurfsrichtlinien.For more information, see Framework Design Guidelines. Standardmäßig muss der Code-Behind-Klasse public, aber Sie können ihn an eine andere Zugriffsebene definieren, mit der X: ClassModifier-Anweisung.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.

Die Interpretation der der x:Class Attribut gilt nur für eine CLR-basierten XAML-Implementierung, insbesondere für .NET Framework-XAML-Dienste.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 ohne .NET Framework-XAML-Dienste verwenden, können eine andere Lösung Formel für die Verbindung von XAML-Markup, und Sichern von Laufzeitcode verwenden.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 der x:Class, finden Sie unter [MS-XAML-].For more information about more general interpretations of x:Class, see [MS-XAML].

Auf einer bestimmten Ebene der Architektur, die Bedeutung der x:Class ist nicht definiert. in .NET Framework-XAML-Dienste.At a certain level of architecture, the meaning of x:Class is undefined in .NET Framework XAML Services. Dies ist, da .NET Framework-XAML-Dienste nicht das Programmiermodell, das angibt, durch die, das XAML-Markup und Code sichern verbunden sind.This is because .NET Framework XAML Services does not specify the programming model by which XAML markup and backing code are connected. Weitere Verwendungsmöglichkeiten des der x:Class Richtlinie implementiert werden könnte, von bestimmten Frameworks, mit denen Programmiermodelle oder Anwendungsmodelle XAML-Markup und Code-Behind-CLR-basierte Verbindung definieren.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 haben einen eigenen Buildaktionen, mit denen einige der Verhalten oder bestimmte Komponenten, 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. In einem Framework können-Build Actions auch abhängig von der bestimmten CLR-Sprache variieren, die für das 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 in das WPF-Programmiermodellx:Class in the WPF Programming Model

In WPF-Anwendungen und das WPF-Anwendungsmodell x:Class kann als Attribut deklariert werden, für jedes Element, ist der Stamm einer XAML-Datei und kompiliert wird (wo befindet sich der XAML in einem WPF-Anwendungsprojekt mit Page Buildvorgang), oder für die < C4 > Application Stamm in die Definition der Anwendung von 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. Deklarieren von x:Class für ein Element als Stammelement einer Seite oder Anwendungsstamm oder in einer WPF XAML-Datei, die nicht kompiliert wird, verursacht einen Fehler während der Kompilierung der .NET Framework 3.0.NET Framework 3.0 und .NET Framework 3,5.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.NET Framework 3.0 and .NET Framework 3,5.NET Framework 3.5 WPF XAML compiler. Informationen zu anderen Aspekte der x:Class in WPF behandeln, 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 von einer benutzerdefinierten Aktivität vollständig in XAML oder Namen die partielle Klasse der XAML-Seite für einen Aktivitätsdesigner 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:)) Sprachfunktionen (Silverlight).For more information, see XAML Namespace (x:) Language Features (Silverlight).

Siehe auchSee also