Entrainement
Module
Créer une interface utilisateur dans une application .NET MAUI avec XAML - Training
Apprenez à concevoir une IU pour une application .NET MAUI avec XAML.
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Code-behind est un terme utilisé pour décrire le code joint à des objets définis par le balisage, lorsqu’une page XAML est compilée. Cette rubrique décrit les conditions requises pour code-behind ainsi qu’un autre mécanisme de code inline pour le code en XAML.
Cette rubrique contient les sections suivantes :
Cette rubrique part du principe que vous avez lu le code XAML dans WPF et que vous avez des connaissances de base sur la programmation CLR et orientée objet.
Le langage XAML inclut des fonctionnalités au niveau du langage qui permettent d’associer des fichiers de code aux fichiers de balisage, du côté du fichier de balisage. Plus précisément, le langage XAML définit les caractéristiques de langage x :Class Directive, x :Subclass Directive et x :ClassModifier Directive. Exactement la façon dont le code doit être généré et comment intégrer le balisage et le code, ne fait pas partie de ce que le langage XAML spécifie. Il est laissé aux frameworks tels que WPF pour déterminer comment intégrer le code, comment utiliser XAML dans les modèles d’application et de programmation, ainsi que les actions de génération ou d’autres prises en charge nécessaires.
La classe partielle doit dériver du type qui sauvegarde l’élément racine.
Notez que, sous le comportement par défaut des actions de génération de compilation de balisage, vous pouvez laisser la dérivation vide dans la définition de classe partielle côté code-behind. Le résultat compilé suppose que le type de stockage de la racine de page est la base de la classe partielle, même s’il n’est pas spécifié. Toutefois, s’appuyer sur ce comportement n’est pas une bonne pratique.
Les gestionnaires d’événements que vous écrivez dans le code-behind doivent être des méthodes d’instance et ne peuvent pas être des méthodes statiques. Ces méthodes doivent être définies par la classe partielle dans l’espace de noms CLR identifié par x:Class
. Vous ne pouvez pas qualifier le nom d’un gestionnaire d’événements pour indiquer à un processeur XAML de rechercher un gestionnaire d’événements pour le câblage d’événements dans une autre étendue de classe.
Le gestionnaire doit correspondre au délégué pour l’événement approprié dans le système de type de stockage.
Pour le langage Microsoft Visual Basic spécifiquement, vous pouvez utiliser l’mot clé propre Handles
au langage pour associer des gestionnaires à des instances et des événements dans la déclaration de gestionnaire, au lieu d’attacher des gestionnaires à des attributs en XAML. Toutefois, cette technique présente certaines limitations, car la Handles
mot clé ne peut pas prendre en charge toutes les fonctionnalités spécifiques du système d’événements WPF, telles que certains scénarios d’événements routés ou événements attachés. Pour plus d’informations, consultez Gestion des événements Visual Basic et WPF.
x :Code est un élément de directive défini en XAML. Un x:Code
élément de directive peut contenir du code de programmation inline. Le code défini inline peut interagir avec le code XAML sur la même page. L’exemple suivant illustre le code C# inline. Notez que le code se trouve à l’intérieur de l’élément x:Code
et que le code doit être entouré par <CDATA[
...]]>
pour échapper au contenu xml, afin qu’un processeur XAML (interprétant le schéma XAML ou le schéma WPF) n’essaie pas d’interpréter le contenu littéralement en tant que CODE XML.
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="MyNamespace.MyCanvasCodeInline"
>
<Button Name="button1" Click="Clicked">Click Me!</Button>
<x:Code><![CDATA[
void Clicked(object sender, RoutedEventArgs e)
{
button1.Content = "Hello World";
}
]]></x:Code>
</Page>
Vous devez envisager d’éviter ou de limiter l’utilisation du code inline. En termes d’architecture et de philosophie de codage, le maintien d’une séparation entre le balisage et le code-behind maintient le concepteur et les rôles de développeur beaucoup plus distincts. Au niveau technique, le code que vous écrivez pour le code inline peut être maladroit à écrire, car vous écrivez toujours dans la classe partielle générée par XAML et ne peut utiliser que les mappages d’espaces de noms XML par défaut. Étant donné que vous ne pouvez pas ajouter using
d’instructions, vous devez qualifier pleinement un grand nombre d’appels d’API que vous effectuez. Les mappages WPF par défaut incluent la plupart des espaces de noms CLR présents dans les assemblys WPF ; vous devrez qualifier entièrement les appels aux types et aux membres contenus dans les autres espaces de noms CLR. Vous ne pouvez pas également définir quoi que ce soit au-delà de la classe partielle dans le code inline, et toutes les entités de code utilisateur que vous référencez doivent exister en tant que membre ou variable dans la classe partielle générée. D’autres fonctionnalités de programmation spécifiques au langage, telles que les macros ou #ifdef
les variables de build globales, ne sont pas disponibles. Pour plus d’informations, consultez le type XAML intrinsèque x :Code.
Commentaires sur .NET Desktop feedback
.NET Desktop feedback est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Entrainement
Module
Créer une interface utilisateur dans une application .NET MAUI avec XAML - Training
Apprenez à concevoir une IU pour une application .NET MAUI avec XAML.
Documentation
Classes XAML et personnalisées - WPF .NET Framework
Découvrez les exigences qu’une classe personnalisée pour Windows Presentation Foundation doit satisfaire pour être utilisable en tant qu’élément XAML.
Syntaxe XAML en détail - WPF .NET Framework
Découvrez les termes utilisés pour décrire les éléments de la syntaxe XAML pour Windows Presentation Foundation et d’autres frameworks qui utilisent XAML.
Espaces de noms XAML et mappage d’espaces de noms - WPF .NET Framework
En savoir plus sur la présence et l’objectif des deux mappages d’espaces de noms XAML souvent trouvés dans la balise racine d’un fichier XAML Windows Presentation Foundation.