Esempio di data binding LINQ to XML

Questo articolo descrive l'esempio LinqToXmlDataBinding, un'app Windows Presentation Foundation (WPF) che associa i componenti dell'interfaccia utente a un'origine dati XML incorporata.

Panoramica

L'esempio LinqToXmlDataBinding è un'app Windows Presentation Foundation (WPF) che contiene file di origine C# e XAML. Un documento XML incorporato definisce un elenco di libri. L'app consente all'utente di visualizzare, aggiungere, eliminare e modificare le voci del libro.

Esistono due file di origine primari:

  • L2DBForm.xaml: contiene il codice della dichiarazione XAML per l'interfaccia utente della finestra principale. Contiene anche una sezione della risorsa finestra che definisce un provider di dati e un documento XML incorporato per gli elenchi di libri.

  • L2DBForm.xaml.cs: contiene i metodi di inizializzazione e gestione eventi associati all'interfaccia utente.

La finestra principale è divisa nelle quattro sezioni di interfaccia utente verticali descritte di seguito:

  • XML: visualizza l'origine XML non elaborata dell'elenco di libri incorporato.

  • Book List: visualizza le voci relative ai libri come testo standard e consente all'utente di selezionare ed eliminare singole voci.

  • Edit Selected Book: consente all'utente di modificare i valori associati alla voce attualmente selezionata.

  • Add New Book: consente di creare una nuova voce in base ai valori immessi dall'utente.

Eseguire l'esempio

Questa sezione illustra come creare e compilare il progetto LinqToXmlDataBinding in Visual Studio e come eseguire l'app LinqToXmlDataBinding Windows Presentation Foundation (WPF) risultante.

Creare il progetto

  1. Aprire Visual Studio e creare un'app WPF in C# denominata LinqToXmlDataBinding.

    Il progetto dovrebbe avere come destinazione .NET Framework 3.5 (o versione successiva).

  2. Se non sono già presenti, aggiungere i riferimenti di progetto per i seguenti assembly .NET:

    • System.Data
    • System.Data.DataSetExtensions
    • System.Xml
    • System.Xml
  3. Compilare la soluzione premendo CTRL+MAIUSC+B ed eseguirla premendo F5.

    Il progetto dovrebbe essere compilato senza errori ed eseguito come applicazione WPF generica.

Aggiungi codice

  1. In Esplora soluzioni rinominare il file di origine Window1.xaml in L2XDBForm.xaml.

    Il file di origine dipendente Window1.xaml.cs viene rinominato automaticamente in L2XDBForm.xaml.cs.

  2. Sostituire il codice sorgente trovato nel file L2XDBForm.xaml con il codice sorgente L2DBForm.xaml. Usare la visualizzazione Origine per usare questo file.

  3. Analogamente, sostituire l'origine in L2XDBForm.xaml.cs con il codice sorgente L2DBForm.xaml.cs.

  4. Nel file App.xaml sostituire tutte le occorrenze della stringa Window1.xaml con L2XDBForm.xaml.

  5. Premere CTRL+MAIUSC+B per compilare la soluzione.

Eseguire l'app

L'app LinqToXmlDataBinding consente all'utente di visualizzare e modificare un elenco di libri archiviati come elemento XML incorporato. Eseguire l'app premendo F5 (Avvia debug) o CTRL+F5 (Avvia senza eseguire debug).

Viene visualizzata una finestra con il titolo WPF Data Binding using LINQ to XML (Data binding WPF con LINQ to XML).

Nella sezione superiore dell'interfaccia utente viene visualizzato il codice XML non elaborato che rappresenta l'elenco di libri. Viene visualizzato tramite un controllo TextBlock WPF che non consente l'interazione tramite mouse o tastiera.

Nella seconda sezione verticale, denominata Book List, vengono visualizzati i libri in un elenco ordinato in testo normale. Viene usato un controllo ListBox che consente la selezione tramite mouse o tastiera.

Aggiungere ed eliminare libri

Per aggiungere un nuovo libro all'elenco, immettere i valori nei controlli ID e ValoreTextBox nell'ultima sezione, Aggiungi nuovo libro e quindi selezionare Aggiungi libro. Il libro viene aggiunto all'elenco sia nel libro che negli elenchi XML. In questo programma i valori di input non vengono convalidati.

Per eliminare un libro esistente dall'elenco, selezionarlo nella sezione Elenco libri e quindi selezionare Rimuovi libro selezionato. La voce del libro viene rimossa sia dal libro che dagli elenchi di origine XML non elaborati.

Modificare una voce di un libro

  1. Selezionare la voce del libro nella seconda sezione, Book List.

    I valori correnti vengono visualizzati nella sezione Modifica libro selezionato.

  2. Modificare i valori usando la tastiera. Non appena uno TextBox dei due controlli perde lo stato attivo, le modifiche vengono propagate automaticamente agli elenchi di libri e origine XML.