Delen via


x:Klasse-instructie

Hiermee configureert u de compilatie van XAML-markeringen om gedeeltelijke klassen te koppelen tussen markeringen en codeachter. De gedeeltelijke codeklasse wordt gedefinieerd in een afzonderlijk codebestand in een CLS-taal (Common Language Specification), terwijl de gedeeltelijke opmaakklasse doorgaans wordt gemaakt door het genereren van code tijdens het compileren van XAML.

XAML-kenmerkgebruik

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

XAML-waarden

Waarde Beschrijving
namespace Facultatief. Hiermee geeft u een CLR-naamruimte op die de gedeeltelijke klasse bevat die wordt geïdentificeerd door classname. Als namespace is opgegeven, scheidt een punt (.) namespace en classname. Zie opmerkingen.
classname Vereist. Hiermee geeft u de CLR-naam op van de gedeeltelijke klasse waarmee de geladen XAML en uw code-behind voor die XAML worden verbonden.

Afhankelijkheden

x:Class kan alleen worden opgegeven op het hoofdelement van een XAML-productie. x:Class is ongeldig voor elk object met een bovenliggend object in de XAML-productie. Zie [MS-XAML] Sectie 6.3.1.6voor meer informatie.

Opmerkingen

De namespace-waarde kan extra punten bevatten om gerelateerde naamruimten in naamhiërarchieën te ordenen. Dit is een veelgebruikte techniek in .NET-programmering. Alleen de laatste punt in een tekenreeks met x:Class waarden wordt geïnterpreteerd om namespace te scheiden en classname. De klasse die wordt gebruikt als x:Class kan geen geneste klasse zijn. Geneste klassen zijn niet toegestaan omdat het bepalen van de betekenis van puntjes voor x:Class tekenreeksen niet eenduidig is als geneste klassen zijn toegestaan.

In bestaande programmeermodellen die gebruikmaken van x:Class, is x:Class optioneel in de zin dat het volledig geldig is om een XAML-pagina te hebben die geen code-achter heeft. Deze mogelijkheid communiceert echter met de buildacties zoals geïmplementeerd door frameworks die gebruikmaken van XAML. x:Class mogelijkheid wordt ook beïnvloed door de rollen die verschillende classificaties van XAML-opgegeven inhoud hebben in een toepassingsmodel en in de bijbehorende buildacties. Als uw XAML kenmerkwaarden voor gebeurtenisafhandeling declareert of aangepaste elementen instantieert waarbij de definiërende klassen zich in de klasse achter de code bevinden, moet u de verwijzing naar de x:Class instructie (of x:Subklasse) opgeven voor de juiste klasse voor code-behind.

De waarde van de x:Class-instructie moet een tekenreeks zijn die de volledig gekwalificeerde naam van een klasse aangeeft, maar zonder assembly-informatie (gelijk aan de Type.FullName). Voor eenvoudige toepassingen kunt u clr-naamruimtegegevens weglaten als de code-behind ook op die manier is gestructureerd (codedefinitie begint op klasseniveau).

Het code-behind-bestand voor een pagina- of toepassingsdefinitie moet zich in een codebestand bevinden dat deel uitmaakt van het project dat een gecompileerde toepassing produceert en waarvoor opmaakcompilatie is vereist. U moet de naamregels voor CLR-klassen volgen. Zie Ontwerprichtlijnen voor frameworksvoor meer informatie. Standaard moet de code-behind-klasse public; U kunt deze echter op een ander toegangsniveau definiëren met behulp van de x:ClassModifier Directive.

Deze interpretatie van het kenmerk x:Class is alleen van toepassing op een OP CLR gebaseerde XAML-implementatie, met name op .NET XAML Services. Andere XAML-implementaties die niet zijn gebaseerd op CLR en die geen .NET XAML Services gebruiken, kunnen een andere oplossingsformule gebruiken voor het verbinden van XAML-markeringen en back-upruntimecode. Zie [MS-XAML]voor meer informatie over meer algemene interpretaties van x:Class.

Op een bepaald niveau van architectuur is de betekenis van x:Class niet gedefinieerd in .NET XAML Services. Dit komt doordat .NET XAML Services niet het programmeermodel opgeeft waarmee XAML-markeringen en back-upcode zijn verbonden. Aanvullende toepassingen van de x:Class-instructie kunnen worden geïmplementeerd door specifieke frameworks die gebruikmaken van programmeermodellen of toepassingsmodellen om te definiëren hoe XAML-markeringen en op CLR gebaseerde code-achter elkaar moeten worden verbonden. Elk framework kan eigen buildacties hebben die een deel van het gedrag of specifieke onderdelen inschakelen die moeten worden opgenomen in de build-omgeving. Binnen een framework kunnen buildacties ook variëren, afhankelijk van de specifieke CLR-taal die wordt gebruikt voor de code-behind.

x:Class in het WPF-programmeermodel

In WPF-toepassingen en het WPF-toepassingsmodel kan x:Class worden gedeclareerd als een kenmerk voor elk element dat de hoofdmap van een XAML-bestand is en wordt gecompileerd (waarbij de XAML is opgenomen in een WPF-toepassingsproject met Page buildactie), of voor de Application root in de toepassingsdefinitie van een gecompileerde WPF-toepassing. Als u x:Class declareert op een ander element dan een hoofdmap van een pagina of toepassingshoofdmap, of op een WPF XAML-bestand dat niet is gecompileerd, veroorzaakt u een compilatiefout onder de .NET Framework 3.0- en .NET Framework 3.5 WPF XAML-compiler. Zie Code-Behind en XAML in WPFvoor meer informatie over andere aspecten van x:Class verwerking in WPF.

x:Class voor Windows Workflow Foundation

Voor Windows Workflow Foundation x:Class de klasse van een aangepaste activiteit die volledig is samengesteld in XAML of de gedeeltelijke klasse van de XAML-pagina een naam geven voor een activiteitsontwerper met code-achter.

Silverlight-gebruiksnotities

x:Class voor Silverlight wordt afzonderlijk gedocumenteerd. Zie XAML-naamruimte (x:) Language Features (Silverlight)voor meer informatie.

Zie ook