Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Классы DataSet и связанные классы являются устаревшими технологиями .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти, пока приложения отключены от базы данных. Технологии особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных являются проверенными успешными технологиями, рекомендуемый подход для новых приложений .NET заключается в использовании Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей и имеет более простой интерфейс программирования.
Вы можете отображать данные пользователям приложения, привязывая данные к элементам управления WPF. Чтобы создать эти элементы управления с привязкой к данным, можно перетащить элементы из окна "Источники данных " в конструктор WPF в Visual Studio. В этом разделе описываются некоторые из наиболее распространенных задач, инструментов и классов, которые можно использовать для создания приложений WPF, привязанных к данным.
Общие сведения о создании элементов управления с привязкой к данным в Visual Studio см. в разделе "Привязка элементов управления к данным" в Visual Studio. Дополнительные сведения о привязке данных WPF см. в обзоре привязки данных.
Задачи, связанные с привязкой элементов управления WPF к данным
В следующей таблице перечислены задачи, которые можно выполнить путем перетаскивания элементов из окна источников данных в конструктор WPF.
Задача | Дополнительные сведения |
---|---|
Создайте элементы управления с привязкой к данным. Привязка существующих элементов управления к данным. |
Привязка элементов управления WPF к набору данных |
Создайте контролы, отображающие связанные данные в родительской-дочерней взаимоотношении: когда пользователь выбирает родительскую запись данных в одном контроле, другой контрол показывает соответствующие дочерние данные для выбранной записи. | Отображение связанных данных в приложениях WPF |
Создайте таблицу подстановки, отображающую сведения из одной таблицы на основе значения поля внешнего ключа в другой таблице. | Создайте таблицы подстановки в приложениях WPF |
Привязка элемента управления к изображению в базе данных. | Привязка элементов управления к рисункам из базы данных |
Допустимые целевые объекты удаления
Элементы в окне источников данных можно перетащить только в допустимые целевые объекты удаления в конструкторе WPF. Существует два основных типа допустимых целевых объектов удаления: контейнеры и элементы управления. Контейнер — это элемент пользовательского интерфейса, который обычно содержит элементы управления. Например, сетка является контейнером и поэтому является окном.
Сгенерированный XAML и код
При перетаскивании элемента из окна источников данных в конструктор WPF Visual Studio создает XAML, определяющий новый элемент управления с привязкой к данным (или привязывает существующий элемент управления к источнику данных). Для некоторых источников данных Visual Studio также создает код в файле программной части, который заполняет источник данных данными.
В следующей таблице перечислены XAML и код, создаваемые Visual Studio для каждого типа источника данных в окне "Источники данных ".
Источник данных | Создание XAML, привязывающего элемент управления к источнику данных | Создание кода, заполняющего источник данных данными |
---|---|---|
Набор данных | Да | Да |
Модель данных сущности | Да | Да |
Услуга | Да | нет |
Объект | Да | нет |
Наборы данных
При перетаскивании таблицы или столбца из окна источников данных в конструктор Visual Studio создает XAML, который выполняет следующие действия:
Добавляет набор данных и новый CollectionViewSource к ресурсам контейнера, в который вы перетаскивали элемент. Это CollectionViewSource объект, который можно использовать для навигации и отображения данных в наборе данных.
Создает привязку данных для элемента управления. Если перетащить элемент на существующий элемент управления в конструкторе, XAML создает привязку элемента к элементу управления. При перетаскивании элемента в контейнер XAML создает элемент управления, выбранный для перетаскиваемого элемента, и привязывает элемент управления к элементу. Элемент управления создается внутри нового Grid.
Visual Studio также вносит следующие изменения в файл программной части:
- Loaded Создает обработчик событий для элемента пользовательского интерфейса, содержащего элемент управления. Обработчик событий заполняет таблицу данными, извлекает CollectionViewSource из ресурсов контейнера, а затем делает первый элемент данных текущим элементом. Loaded Если обработчик событий уже существует, Visual Studio добавляет этот код в существующий обработчик событий.
Модели данных сущностей
При перетаскивании сущности или свойства сущности из окна источников данных в конструктор Visual Studio создает XAML, который выполняет следующие действия:
Добавляет новый CollectionViewSource к ресурсам контейнера, в который вы перетаскивали элемент. Это CollectionViewSource объект, который можно использовать для навигации и отображения данных в сущности.
Создает привязку данных для элемента управления. Если перетащить элемент на имеющийся элемент управления в конструкторе, XAML привязывает элемент к элементу управления. При перетаскивании элемента в контейнер XAML создает элемент управления, выбранный для перетаскиваемого элемента, и привязывает элемент управления к элементу. Элемент управления создается внутри нового Grid.
Visual Studio также вносит следующие изменения в файл программной части:
Добавляет новый метод, возвращающий запрос для сущности, которую вы перетащили в конструктор (или для сущности, содержащей свойство, которое вы перетащили в конструктор). Новый метод имеет имя
Get<EntityName>Query
, где\<EntityName>
имя сущности.Loaded Создает обработчик событий для элемента пользовательского интерфейса, содержащего элемент управления. Обработчик событий вызывает
Get<EntityName>Query
метод для заполнения сущности данными, извлекает CollectionViewSource данные из ресурсов контейнера, а затем делает первый элемент данных текущим элементом. Loaded Если обработчик событий уже существует, Visual Studio добавляет этот код в существующий обработчик событий.
Услуги
При перетаскивании объекта или свойства службы из окна источников данных в конструктор Visual Studio создает xaml, который создает элемент управления с привязкой к данным (или привязывает существующий элемент управления к объекту или свойству). Однако Visual Studio не создает код, заполняющий объект службы прокси-сервера данными. Этот код необходимо написать самостоятельно. Пример, демонстрирующий, как это сделать, см. в разделе Привязка элементов управления WPF к службе данных WCF.
Visual Studio создает XAML, который выполняет следующие действия:
Добавляет новый CollectionViewSource к ресурсам контейнера, в который вы перетаскивали элемент. Это CollectionViewSource объект, который можно использовать для навигации и отображения данных в объекте, возвращаемом службой.
Создает привязку данных для элемента управления. Если перетащить элемент на имеющийся элемент управления в конструкторе, XAML привязывает элемент к элементу управления. При перетаскивании элемента в контейнер XAML создает элемент управления, выбранный для перетаскиваемого элемента, и привязывает элемент управления к элементу. Элемент управления создается внутри нового Grid.
Объекты
При перетаскивании объекта или свойства из окна источников данных в конструктор Visual Studio создает XAML, который создает элемент управления с привязкой к данным (или привязывает существующий элемент управления к объекту или свойству). Однако Visual Studio не создает код для заполнения объекта данными. Этот код необходимо написать самостоятельно.
Замечание
Пользовательские классы должны быть общедоступными и по умолчанию имеют конструктор без параметров. Они не могут быть вложенными классами, имеющими "точку" в их синтаксисе. Дополнительные сведения см. в разделе XAML и пользовательские классы для WPF.
Visual Studio создает XAML, который выполняет следующие действия:
Добавляет новый CollectionViewSource к ресурсам контейнера, в который вы перетаскивали элемент. Это CollectionViewSource объект, который можно использовать для навигации и отображения данных в объекте.
Создает привязку данных для элемента управления. Если перетащить элемент на имеющийся элемент управления в конструкторе, XAML привязывает элемент к элементу управления. При перетаскивании элемента в контейнер XAML создает элемент управления, выбранный для перетаскиваемого элемента, и привязывает элемент управления к элементу. Элемент управления создается внутри нового Grid.