Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
La DataSet classe et les classes associées sont des technologies .NET Framework héritées du début des années 2000 qui permettent aux applications d’utiliser des données en mémoire pendant que les applications sont déconnectées de la base de données. Les technologies sont particulièrement utiles pour les applications qui permettent aux utilisateurs de modifier les données et de conserver les modifications apportées à la base de données. Bien que les jeux de données soient une technologie éprouvée, l’approche recommandée pour les nouvelles applications .NET consiste à utiliser Entity Framework Core. Entity Framework offre un moyen plus naturel d’utiliser des données tabulaires en tant que modèles objet et dispose d’une interface de programmation plus simple.
Vous pouvez afficher des données aux utilisateurs de votre application en liant des données aux contrôles WPF. Pour créer ces contrôles liés aux données, vous pouvez faire glisser des éléments de la fenêtre Sources de données vers le Concepteur WPF dans Visual Studio. Cette rubrique décrit certaines des tâches, outils et classes les plus courants que vous pouvez utiliser pour créer des applications WPF liées aux données.
Pour obtenir des informations générales sur la création de contrôles liés aux données dans Visual Studio, consultez Lier des contrôles aux données dans Visual Studio. Pour plus d’informations sur la liaison de données WPF, consultez Vue d’ensemble de la liaison de données.
Tâches impliquées dans la liaison de contrôles WPF aux données
Le tableau suivant répertorie les tâches qui peuvent être effectuées en faisant glisser des éléments de la fenêtre Sources de données vers le Concepteur WPF.
| Tâche | Plus d’informations |
|---|---|
| Créez des contrôles liés aux données. Lier des contrôles existants aux données. |
Lier des contrôles WPF à un jeu de données |
| Créez des contrôles qui affichent les données associées dans une relation parent-enfant : lorsque l’utilisateur sélectionne un enregistrement de données parent dans un contrôle, un autre contrôle affiche les données enfants associées pour l’enregistrement sélectionné. | Afficher les données associées dans les applications WPF |
| Créez une table de choix qui affiche des informations d’une table en fonction de la valeur d’un champ de clé étrangère dans une autre table. | Créer des tables de recherche dans les applications WPF |
| Lier un contrôle à une image dans une base de données. | Lier des contrôles à des images à partir d’une base de données |
Cibles de dépôt valides
Vous pouvez faire glisser des éléments dans la fenêtre Sources de données uniquement vers des cibles de dépôt valides dans le Concepteur WPF. Il existe deux types principaux de cibles de suppression valides : conteneurs et contrôles. Un conteneur est un élément d’interface utilisateur qui contient généralement des contrôles. Par exemple, une grille est un conteneur, tout comme une fenêtre.
XAML généré et code
Lorsque vous faites glisser un élément de la fenêtre Sources de données vers le Concepteur WPF, Visual Studio génère du code XAML qui définit un nouveau contrôle lié aux données (ou lie un contrôle existant à la source de données). Pour certaines sources de données, Visual Studio génère également du code dans le fichier code-behind qui remplit la source de données avec des données.
Le tableau suivant répertorie le code XAML et le code générés par Visual Studio pour chaque type de source de données dans la fenêtre Sources de données .
| Source de données | Générer du code XAML qui lie un contrôle à la source de données | Générer du code qui remplit la source de données avec des données |
|---|---|---|
| Dataset | Oui | Oui |
| Modèle de données d’entité | Oui | Oui |
| Service | Oui | Non |
| Objet | Oui | Non |
Groupes de données
Lorsque vous faites glisser une table ou une colonne de la fenêtre Sources de données vers le concepteur, Visual Studio génère le code XAML qui effectue les opérations suivantes :
Ajoute le groupe de données (dataset) et un nouveau CollectionViewSource aux ressources du conteneur vers lequel vous avez fait glisser l'élément. Il CollectionViewSource s’agit d’un objet qui peut être utilisé pour naviguer et afficher les données dans le jeu de données.
Crée une liaison de données pour un contrôle. Si vous faites glisser l’élément vers un contrôle existant dans le concepteur, le code XAML lie le contrôle à l’élément. Si vous faites glisser l’élément vers un conteneur, le code XAML crée le contrôle sélectionné pour l’élément déplacé et lie le contrôle à l’élément. Le contrôle est créé dans une nouvelle Grid.
Visual Studio apporte également les modifications suivantes au fichier code-behind :
- Crée un gestionnaire d’événements Loaded pour l’élément d’interface utilisateur qui contient le contrôle. Le gestionnaire d’événements remplit la table avec des données, récupère le CollectionViewSource des ressources du conteneur, puis désigne le premier élément de données comme l'élément actuel. Si un gestionnaire d’événements Loaded existe déjà, Visual Studio ajoute ce code au gestionnaire d’événements existant.
Modèles de données d’entité
Lorsque vous faites glisser une entité ou une propriété d’entité de la fenêtre Sources de données vers le concepteur, Visual Studio génère le code XAML qui effectue les opérations suivantes :
Ajoute un nouveau CollectionViewSource aux ressources du conteneur vers lequel vous avez fait glisser l'élément. CollectionViewSource est un objet qui peut être utilisé pour naviguer et afficher les données de l’entité.
Crée une liaison de données pour un contrôle. Si vous faites glisser l’élément vers un contrôle existant dans le concepteur, le code XAML lie le contrôle à l’élément. Si vous faites glisser l’élément vers un conteneur, le code XAML crée le contrôle sélectionné pour l’élément déplacé et lie le contrôle à l’élément. Le contrôle est créé dans une nouvelle Grid.
Visual Studio apporte également les modifications suivantes au fichier code-behind :
Ajoute une nouvelle méthode qui retourne une requête pour l’entité que vous avez déplacée vers le concepteur (ou l’entité qui contient la propriété que vous avez déplacée vers le concepteur). La nouvelle méthode a le nom
Get<EntityName>Query, où\<EntityName>est le nom de l’entité.Crée un gestionnaire d’événements Loaded pour l’élément d’interface utilisateur qui contient le contrôle. Le gestionnaire d’événements appelle la méthode
Get<EntityName>Querypour remplir l’entité avec des données, récupère CollectionViewSource dans les ressources du conteneur, puis définit le premier élément de données comme l’élément actuel. Si un gestionnaire d’événements Loaded existe déjà, Visual Studio ajoute ce code au gestionnaire d’événements existant.
Prestations
Lorsque vous faites glisser un objet ou une propriété de service de la fenêtre Sources de données vers le concepteur, Visual Studio génère du code XAML qui crée un contrôle lié aux données (ou lie un contrôle existant à l’objet ou à la propriété). Toutefois, Visual Studio ne génère pas de code qui remplit l’objet de service proxy avec des données. Vous devez écrire ce code vous-même. Pour obtenir un exemple qui montre comment procéder, consultez Lier des contrôles WPF à un service de données WCF.
Visual Studio génère du code XAML qui effectue les opérations suivantes :
Ajoute un nouvel CollectionViewSource aux ressources du conteneur où vous avez déplacé l’élément. Il CollectionViewSource s’agit d’un objet qui peut être utilisé pour naviguer et afficher les données dans l’objet retourné par le service.
Crée une liaison de données pour un contrôle. Si vous faites glisser l’élément vers un contrôle existant dans le concepteur, le code XAML lie le contrôle à l’élément. Si vous faites glisser l’élément vers un conteneur, le code XAML crée le contrôle sélectionné pour l’élément déplacé et lie le contrôle à l’élément. Le contrôle est créé dans une nouvelle Grid.
Objets
Lorsque vous faites glisser un objet ou une propriété de la fenêtre Sources de données vers le concepteur, Visual Studio génère du code XAML qui crée un contrôle lié aux données (ou lie un contrôle existant à l’objet ou à la propriété). Toutefois, Visual Studio ne génère pas de code pour remplir l’objet avec des données. Vous devez écrire ce code vous-même.
Remarque
Les classes personnalisées doivent être publiques et, par défaut, avoir un constructeur sans paramètres. Ils ne peuvent pas être des classes imbriquées qui contiennent un « point » dans leur syntaxe. Pour plus d’informations, consultez les classes XAML et personnalisées pour WPF.
Visual Studio génère du code XAML qui effectue les opérations suivantes :
Ajoute un nouvel élément CollectionViewSource aux ressources du conteneur dans lequel vous avez déplacé l'élément. Il CollectionViewSource s’agit d’un objet qui peut être utilisé pour naviguer et afficher les données dans l’objet.
Crée une liaison de données pour un contrôle. Si vous faites glisser l’élément vers un contrôle existant dans le concepteur, le code XAML lie le contrôle à l’élément. Si vous faites glisser l’élément vers un conteneur, le code XAML crée le contrôle sélectionné pour l’élément déplacé et lie le contrôle à l’élément. Le contrôle est créé dans une nouvelle Grid.