Поделиться через


Пример привязки данных LINQ to XML

В этом разделе приводится пример LinqToXmlDataBinding, приложения Windows Presentation Foundation (WPF), в котором компоненты пользовательского интерфейса связываются с внедренным источником XML-данных.

Обзор

Программа LinqToXmlDataBinding - это приложение Windows Presentation Foundation (WPF), состоящее из файлов на языках C# и XAML. Внедренный XML-документ определяет список книг. Приложение позволяет пользователю просматривать, добавлять, удалять и изменять записи книг.

Существует два основных исходных файла:

  • Файл L2DBForm.xaml содержит декларацию кода XAML для пользовательского интерфейса главного окна. Он содержит также раздел ресурсов окна, который определяет поставщика данных, и внедренный XML-документ для листингов книг.

  • Файл L2DBForm.xaml.cs содержит методы инициализации и обработки событий, связанные с этим пользовательским интерфейсом.

Главное окно разделено по вертикали на четыре интерфейсных раздела.

  • Раздел XML отображает необработанный код внедренного листинга книг на языке XML.

  • Раздел Список книг отображает выполненные в формате стандартного текста записи книг и дает пользователю возможность выбирать и удалять отдельные записи.

  • Раздел Правка выделенной книги позволяет пользователю изменять значения, связанные с книжной записью, выделенной в данный момент.

  • Раздел Добавить новую книгу позволяет создавать новую запись в книге на базе значений, введенных пользователем.

Запуск примера

В этом разделе показано создание и построение проекта среды Visual Studio LinqToXmlDataBinding, а также запуск полученного в результате приложения Windows Presentation Foundation (WPF) LinqToXmlDataBinding.

Создание проекта

  1. Запустите Visual Studio и создайте приложение WPF на C# с именем LinqToXmlDataBinding.

    В проекте необходимо использовать .NET Framework 3.5 (или более поздней версии).

  2. Добавьте в проект ссылки для следующих сборок .NET, если они еще не заданы:

    • System.Data
    • System.Data.DataSetExtensions
    • System.Xml
    • System.Xml
  3. Выполните сборку решения, нажав Ctrl+Shift+B, а затем запустите его с помощью клавиши F5.

    Проект должен быть скомпилирован без ошибок и выполнен как обычное приложение WPF.

Добавить код

  1. В обозревателе решений переименуйте исходный файл Window1.xaml в L2XDBForm.xaml.

    Зависимый исходный файл Window1.xaml.cs автоматически переименован в L2XDBForm.xaml.cs.

  2. Замените исходный код в файле L2XDBForm.xaml исходным кодом L2DBForm.xaml. Для работы с этим файлом используйте представление источника данных XAML.

  3. Аналогичным образом замените исходный код в файле L2XDBForm.xaml.cs исходным кодом L2DBForm.xaml.cs.

  4. В файле App.xaml замените все вхождения строки Window1.xaml строкой L2XDBForm.xaml.

  5. Выполните сборку решения, нажав клавиши CTRL+SHIFT+B.

Выполнить приложение

Приложение LinqToXmlDataBinding дает пользователю возможность просматривать и управлять списком книг, который хранится в виде внедренного XML-элемента. Запустите приложение, нажав клавишу F5 (Начать отладку) или Ctrl+F5 (Запуск без отладки).

Откроется окно программы с заголовком Привязка данных WPF с помощью LINQ to XML.

В верхней части пользовательского интерфейса отображается необработанный код XML, представляющий список книг. Он выводится с помощью элемента управления WPF TextBlock, не включающего взаимодействие с мышью или клавиатурой.

Второй вертикальный раздел, обозначенный как Список книг, отображает упорядоченный список книг в виде простого текста. В нем используется элемент управления ListBox, допускающий выбор с помощью мыши или клавиатуры.

Добавление и удаление строк

Чтобы добавить новую книгу в список, введите значения в элементы управления идентификатором и значением TextBox в последнем разделе, добавьте новую книгу и нажмите кнопку "Добавить книгу". Книга добавляется в конец списка и исходного текста XML. Эта программа не выполняет проверку правильности входных значений.

Чтобы удалить существующую книгу из списка, выделите ее в разделе Список книг и выберите Remove Selected Book (Удалить выбранную книгу). Запись книги удаляется не только из списка, но и из необработанного исходного текста XML.

Изменение записи книги

  1. Выделите книгу во втором разделе Список книг.

    Текущие значения для выделенной книги отображаются в разделе Edit Selected Book (Редактирование выделенной книги).

  2. Измените значения с клавиатуры. Как только элемент управления TextBox теряет фокус, изменения автоматически распространяются на список книг и исходный текст XML.