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


Практическое руководство. Отображение связанных данных в приложениях WPF

 

Опубликовано: Апрель 2016

В некоторых приложениях может потребоваться работать с данными из нескольких таблиц или сущностей, между которыми существуют родительско-дочерние отношения. Например, может потребоваться вывести на экран сетку, в которой отображались бы клиенты из таблицы Customers. Когда пользователь выбирает того или иного клиента, выводится другая сетка, в которой отображаются заказы этого клиента из связанной таблицы Orders.

Связанные с данными элементы управления, которые отображают связанные данные, можно создавать путем перетаскивания элементов из окна Источники данных в конструктор WPF.

Чтобы создать элементы управления, отображающие связанные записи, выполните следующие действия

  1. Чтобы открыть окно Источники данных, щелкните пункт Показать источники данных в меню Данные.

  2. Щелкните Добавить новый источник данных и выполните все необходимые действия в Мастере настройки источника данных.

  3. Откройте конструктор WPF и удостоверьтесь, что он содержит контейнер, который является допустимым целевым объектом перетаскивания элементов в окне Источники данных.

    Дополнительные сведения о допустимых целевых объектах перетаскивания см. в разделе Привязка элементов управления WPF к данным в Visual Studio.

  4. В окне Источники данных разверните узел, представляющий родительскую таблицу или родительский объект в существующем отношении. Родительская таблица или родительский объект находится на стороне "один" в отношении "один ко многим".

  5. Перетащите родительский узел (или некие отдельные элементы в родительском узле) из окна Источники данных на допустимый целевой объект перетаскивания в конструкторе.

    Visual Studio генерирует язык XAML, который создает новые связанные с данными элементы управления для всех перетаскиваемых элементов. Язык XAML также добавляет к ресурсам целевого объекта перетаскивания новый CollectionViewSource для родительской таблицы или родительского объекта. Для некоторых источников данных Visual Studio также генерирует код для загрузки данных в родительскую таблицу или родительский объект. Дополнительные сведения см. в разделе Привязка элементов управления WPF к данным в Visual Studio.

  6. В окне Источники данных найдите связанную дочернюю таблицу или связанный дочерний объект. Связанные дочерние таблицы и объекты отображаются в виде разворачиваемых узлов в нижней части списка данных родительского узла.

  7. Перетащите дочерний узел (или некие отдельные элементы в дочернем узле) из окна Источники данных на допустимый целевой объект перетаскивания в конструкторе.

    Visual Studio генерирует язык XAML, который создает новые связанные с данными элементы управления для всех перетаскиваемых элементов. Язык XAML также добавляет к ресурсам целевого объекта перетаскивания новый CollectionViewSource для дочерней таблицы или дочернего объекта. Этот новый CollectionViewSource связан со свойством родительской таблицы или родительского объекта, только что помещенных в конструктор. Для некоторых источников данных Visual Studio также генерирует код для загрузки данных в дочернюю таблицу или дочерний объект.

    На следующем рисунке показана связанная таблица Заказы таблицы Клиенты в наборе данных в окне Источники данных.

    Окно “Источники данных”, демонстрирующее отношение

См. также

Привязка элементов управления WPF к данным в Visual Studio
Практическое руководство. Привязка элементов управления WPF к данным в Visual Studio
Практическое руководство. Создание таблиц подстановки в приложениях WPF
Пошаговое руководство. Отображение связанных данных в приложении WPF