Exemple de liaison de données LINQ to XML

Cet article décrit l’exemple LinqToXmlDataBinding, une application WPF (Windows Presentation Foundation) qui lie des composants d’interface utilisateur à une source de données XML incorporée.

Vue d’ensemble

L’exemple LinqToXmlDataBinding est une application WPF (Windows Presentation Foundation) qui contient des fichiers sources C# et XAML. Un document XML incorporé définit une liste de livres. L’application permet à l’utilisateur d’afficher, d’ajouter, de supprimer et de modifier les entrées du livre.

Il existe deux fichiers sources principaux :

  • L2DBForm.xaml contient le code de déclaration XAML pour l’interface utilisateur de la fenêtre principale. Il contient également une section de ressource de fenêtre qui définit un fournisseur de données et un document XML incorporé pour les listes de livres.

  • L2DBForm.xaml.cs contient les méthodes d’initialisation et de gestion d’événements associées à l’interface utilisateur.

La fenêtre principale est composée des quatre sections d'interface utilisateur verticales suivantes :

  • XML affiche la source XML brute de la liste de livres incorporée.

  • Book List affiche les entrées de livres au format texte standard et permet à l’utilisateur de sélectionner et de supprimer des entrées.

  • Edit Selected Book permet à l’utilisateur de modifier les valeurs associées à l’entrée de livre sélectionnée.

  • Add New Book permet la création d’une nouvelle entrée de livre sur la base des valeurs entrées par l’utilisateur.

Exécution de l'exemple

Cette section montre comment créer et générer le projet LinqToXmlDataBinding dans Visual Studio et comment exécuter l’application LinqToXmlDataBinding Windows Presentation Foundation (WPF) résultante.

Créer le projet

  1. Ouvrez Visual Studio et créez une application WPF C# nommée LinqToXmlDataBinding.

    Le projet doit cibler le .NET Framework 3.5 (ou version ultérieure).

  2. Si elles ne sont pas déjà présentes, ajoutez les références de projet pour les assemblys .NET suivants :

    • System.Data
    • System.Data.DataSetExtensions
    • System.Xml
    • System.Xml
  3. Générez la solution en appuyant sur Ctrl+Maj+B, puis exécutez-la en appuyant sur F5.

    Le projet doit être compilé sans erreur et exécuté en tant qu'application WPF générique.

Ajout de code

  1. Dans l’Explorateur de solutions, renommez le fichier source Window1.xaml en L2XDBForm.xaml.

    Le fichier source dépendant Window1.xaml.cs est automatiquement renommé en L2XDBForm.xaml.cs.

  2. Remplacez le code source trouvé dans le fichier L2XDBForm.xaml par le code source L2DBForm.xaml. Utilisez la vue source XAML pour travailler avec ce fichier.

  3. De même, remplacez la source dans L2XDBForm.xaml.cs par le code source L2DBForm.xaml.cs.

  4. Dans le fichier App.xaml, remplacez toutes les occurrences de la chaîne Window1.xaml par L2XDBForm.xaml.

  5. Appuyez sur Ctrl+Maj+B pour générer la solution.

Exécuter l’application

L’application LinqToXmlDataBinding permet à l’utilisateur d’afficher et de manipuler une liste de livres stockés en tant qu’élément XML incorporé. Exécutez l’application en appuyant sur F5 (Démarrer le débogage) ou Ctrl+F5 (Démarrer sans débogage).

Une fenêtre de programme avec le titre WPF Data Binding using LINQ to XML apparaît.

La section supérieure de l’interface utilisateur affiche le code XML brut qui représente la liste des livres. Il est affiché à l'aide d'un contrôle TextBlock WPF, qui n'autorise pas d'interaction via le clavier ou la souris.

La deuxième section verticale, libellée Book List, affiche les livres sous la forme d’une liste ordonnée en texte brut. Elle utilise un contrôle ListBox qui autorise la sélection via la souris ou le clavier.

Ajouter et supprimer des livres

Pour ajouter un nouveau livre à la liste, entrez des valeurs dans les contrôles ID et ValeurTextBox de la dernière section, Ajoutez un nouveau livre, puis sélectionnez Ajouter un livre. Le livre est ajouté à la liste à la fois dans le livre et les listes XML. Ce programme ne valide pas les valeurs d'entrée.

Pour supprimer un livre existant de la liste, sélectionnez-le dans la section Liste de livres, puis sélectionnez Supprimer le livre sélectionné. L’entrée de livre est supprimée du livre et des listes de sources XML brutes.

Modifier une entrée de livre

  1. Sélectionnez l’entrée de livre dans la deuxième section Book List.

    Ses valeurs actuelles sont affichées dans la section Modifier le livre sélectionné.

  2. Modifiez les valeurs à l'aide du clavier. Dès que l’un ou l’autre TextBox contrôle perd le focus, les modifications sont automatiquement propagées aux listes de sources et de livres XML.