Пример привязки данных 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.
Создание проекта
Запустите Visual Studio и создайте приложение WPF на C# с именем LinqToXmlDataBinding.
В проекте необходимо использовать .NET Framework 3.5 (или более поздней версии).
Добавьте в проект ссылки для следующих сборок .NET, если они еще не заданы:
- System.Data
- System.Data.DataSetExtensions
- System.Xml
- System.Xml
Выполните сборку решения, нажав Ctrl+Shift+B, а затем запустите его с помощью клавиши F5.
Проект должен быть скомпилирован без ошибок и выполнен как обычное приложение WPF.
Добавить код
В обозревателе решений переименуйте исходный файл Window1.xaml в L2XDBForm.xaml.
Зависимый исходный файл Window1.xaml.cs автоматически переименован в L2XDBForm.xaml.cs.
Замените исходный код в файле L2XDBForm.xaml исходным кодом L2DBForm.xaml. Для работы с этим файлом используйте представление источника данных XAML.
Аналогичным образом замените исходный код в файле L2XDBForm.xaml.cs исходным кодом L2DBForm.xaml.cs.
В файле App.xaml замените все вхождения строки Window1.xaml строкой L2XDBForm.xaml.
Выполните сборку решения, нажав клавиши CTRL+SHIFT+B.
Выполнить приложение
Приложение LinqToXmlDataBinding дает пользователю возможность просматривать и управлять списком книг, который хранится в виде внедренного XML-элемента. Запустите приложение, нажав клавишу F5 (Начать отладку) или Ctrl+F5 (Запуск без отладки).
Откроется окно программы с заголовком Привязка данных WPF с помощью LINQ to XML.
В верхней части пользовательского интерфейса отображается необработанный код XML, представляющий список книг. Он выводится с помощью элемента управления WPF TextBlock, не включающего взаимодействие с мышью или клавиатурой.
Второй вертикальный раздел, обозначенный как Список книг, отображает упорядоченный список книг в виде простого текста. В нем используется элемент управления ListBox, допускающий выбор с помощью мыши или клавиатуры.
Добавление и удаление строк
Чтобы добавить новую книгу в список, введите значения в элементы управления идентификатором и значением TextBox в последнем разделе, добавьте новую книгу и нажмите кнопку "Добавить книгу". Книга добавляется в конец списка и исходного текста XML. Эта программа не выполняет проверку правильности входных значений.
Чтобы удалить существующую книгу из списка, выделите ее в разделе Список книг и выберите Remove Selected Book (Удалить выбранную книгу). Запись книги удаляется не только из списка, но и из необработанного исходного текста XML.
Изменение записи книги
Выделите книгу во втором разделе Список книг.
Текущие значения для выделенной книги отображаются в разделе Edit Selected Book (Редактирование выделенной книги).
Измените значения с клавиатуры. Как только элемент управления TextBox теряет фокус, изменения автоматически распространяются на список книг и исходный текст XML.
.NET Desktop feedback