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


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

Таблицу подстановки можно создать путем перетаскивания главного узла родительской таблицы или объекта из окна Источники данных на элемент управления, который уже привязан к столбцу или свойству в связанной дочерней таблице. Термин таблица подстановки (иногда используется привязка подстановки) описывает элемент управления, который отображает информацию из одной таблицы данных на основе значения в поле внешнего ключа в другой таблице.

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

Создание таблицы подстановок

  1. Добавьте в проект источник данных одного из следующих типов со связанными данными:

    Примечание

    Для создания таблицы подстановки необходимо, чтобы в качестве источника данных для проекта существовали две связанные таблицы или два связанных объекта.

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

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

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

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

    Примечание

    Связанная дочерняя таблица или дочерний объект — это узел, который отображается как развертываемый дочерний узел в узле родительской таблицы или родительского объекта.

  5. Щелкните раскрывающееся меню дочернего узла и выберите Сведения.

  6. Разверните дочерний узел.

  7. В дочернем узле щелкните раскрывающееся меню элемента, связывающего дочерние и родительские данные (в приведенном выше примере это будет узел CustomerID). Выберите один из следующих типов элементов управления, поддерживающих привязку подстановки.

  8. Перетащите дочерний узел из окна Источники данных на контейнер в конструкторе WPF (в приведенном выше примере дочерним является узел Orders).

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

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

    Visual Studio задает некоторые свойства элемента управления для настройки привязки подстановки. В следующей таблице перечисляются свойства, изменяемые Visual Studio. При необходимости эти свойства можно изменить в редакторе XAML или в окне Свойства.

    Свойство

    Объяснение настройки

    ItemsSource

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

    DisplayMemberPath

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

    Если требуется отобразить другой столбец или другое свойство в родительских данных, измените это свойство, задав путь к другому свойству.

    SelectedValue

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

    SelectedValuePath

    Visual Studio задает этому свойству путь к столбцу или свойству дочерних данных, которые являются внешним ключом для родительских данных.

См. также

Задачи

Практическое руководство. Привязка элементов управления WPF к данным в Visual Studio

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

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

Основные понятия

Привязка элементов управления WPF к данным в Visual Studio