Практическое руководство. Создание таблиц подстановки в приложениях WPF
Таблицу подстановки можно создать путем перетаскивания главного узла родительской таблицы или объекта из окна Источники данных на элемент управления, который уже привязан к столбцу или свойству в связанной дочерней таблице. Термин таблица подстановки (иногда используется привязка подстановки) описывает элемент управления, который отображает информацию из одной таблицы данных на основе значения в поле внешнего ключа в другой таблице.
Например, рассмотрим таблицу Orders в базе данных продаж. Каждая запись в таблице Orders включает CustomerID, указывающий, какой клиент разместил заказ. CustomerID является внешним ключом, который указывает на запись клиента в таблице Customers. При отображении списка заказов из таблицы Orders может потребоваться вместо CustomerID отобразить реальное имя клиента. Поскольку имя клиента содержится в таблице Customers, для его отображения потребуется создать таблицу подстановки. Таблица подстановки использует значение CustomerID в записи Orders для перемещения по связи и возвращает понятное имя клиента.
Создание таблицы подстановок
Добавьте в проект источник данных одного из следующих типов со связанными данными:
Набор данных или модель EDM. Дополнительные сведения см. в разделе Практическое руководство. Подключение к данным в базе данных.
Служба данных WCF, служба WCF или веб-служба. Дополнительные сведения см. в разделе Практическое руководство. Подключение к данным в службе.
Объекты. Дополнительные сведения см. в разделе Практическое руководство. Подключение к данным в объектах.
Примечание
Для создания таблицы подстановки необходимо, чтобы в качестве источника данных для проекта существовали две связанные таблицы или два связанных объекта.
Откройте конструктор WPF и удостоверьтесь, что он содержит контейнер, который является допустимым целевым объектом перетаскивания элементов в окне Источники данных.
Дополнительные сведения о допустимых целевых объектах перетаскивания см. в разделе Привязка элементов управления WPF к данным в Visual Studio.
Чтобы открыть окно Источники данных, щелкните пункт Показать источники данных в меню Данные.
Разворачивайте узлы в окне Источники данных, пока не увидите родительскую таблицу или родительский объект и связанную дочернюю таблицу или дочерний объект.
Примечание
Связанная дочерняя таблица или дочерний объект — это узел, который отображается как развертываемый дочерний узел в узле родительской таблицы или родительского объекта.
Щелкните раскрывающееся меню дочернего узла и выберите Сведения.
Разверните дочерний узел.
В дочернем узле щелкните раскрывающееся меню элемента, связывающего дочерние и родительские данные (в приведенном выше примере это будет узел CustomerID). Выберите один из следующих типов элементов управления, поддерживающих привязку подстановки.
ComboBox
ListBox
ListView
Примечание
Если элемент управления ListBox или ListView отсутствует в списке, его можно добавить в список.Сведения см. в разделе Практическое руководство. Установка элемента управления, создаваемого при перетаскивании из окна "Источники данных".
Любой пользовательский элемент управления, производный от класса Selector.
Примечание
Сведения о том, как добавлять пользовательские элементы управления в список элементов, которые можно выбирать как элементы в окне Источники данных, см. в разделе Практическое руководство. Добавление пользовательских элементов управления в окно источников данных.
Перетащите дочерний узел из окна Источники данных на контейнер в конструкторе WPF (в приведенном выше примере дочерним является узел Orders).
Visual Studio генерирует язык XAML, который создает новые связанные с данными элементы управления для всех перетаскиваемых элементов. Язык XAML также добавляет к ресурсам целевого объекта перетаскивания новый CollectionViewSource для дочерней таблицы или дочернего объекта. Для некоторых источников данных Visual Studio также генерирует код для загрузки данных в таблицу или объект. Дополнительные сведения см. в разделе Привязка элементов управления WPF к данным в Visual Studio.
Перетащите родительский узел из окна Источники данных на созданный ранее элемент управления привязкой подстановки (в приведенном выше примере родительским является узел Customers).
Visual Studio задает некоторые свойства элемента управления для настройки привязки подстановки. В следующей таблице перечисляются свойства, изменяемые Visual Studio. При необходимости эти свойства можно изменить в редакторе XAML или в окне Свойства.
Свойство
Объяснение настройки
Это свойство указывает на коллекцию или привязку, которые используются для получения данных, отображаемых в элементе управления. Visual Studio задает это свойство элементу CollectionViewSource для родительских данных, которые перетаскивались на элемент управления.
Это свойство указывает путь к элементу данных, отображаемому в элементе управления. Visual Studio задает это свойство первому столбцу или свойству в родительских данных после первичного ключа, содержащего строковый тип данных.
Если требуется отобразить другой столбец или другое свойство в родительских данных, измените это свойство, задав путь к другому свойству.
Visual Studio создает привязку этого свойства к столбцу или свойству дочерних данных, которые перетаскивались в конструктор. Это свойство является внешним ключом для родительских данных.
Visual Studio задает этому свойству путь к столбцу или свойству дочерних данных, которые являются внешним ключом для родительских данных.
См. также
Задачи
Практическое руководство. Привязка элементов управления WPF к данным в Visual Studio
Практическое руководство. Отображение связанных данных в приложениях WPF
Пошаговое руководство. Отображение связанных данных в приложении WPF