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


Отображение связанных данных в приложениях WPF платформа .NET Framework

Примечание.

Наборы данных и связанные классы являются устаревшими технологиями платформа .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти во время отключения приложений от базы данных. Технологии особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных оказались очень успешными, мы рекомендуем новым приложениям .NET использовать Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей, и он имеет более простой интерфейс программирования.

В некоторых приложениях может потребоваться работать с данными, поступающими из нескольких таблиц или сущностей, связанных друг с другом в связи с родительским дочерним элементом. Например, может потребоваться отобразить сетку, отображающую клиентов из 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 также создает код для загрузки данных в дочернюю таблицу или объект.

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

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