DataGridComboBoxColumn Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public ref class DataGridComboBoxColumn : System::Windows::Controls::DataGridColumn
public class DataGridComboBoxColumn : System.Windows.Controls.DataGridColumn
type DataGridComboBoxColumn = class
inherit DataGridColumn
Public Class DataGridComboBoxColumn
Inherits DataGridColumn
- Наследование
Примеры
В следующем примере показано, как заполнить раскрывающийся список для каждого ComboBox из столбцов значениями перечисления. Выбранный элемент в раскрывающемся списке привязан путем задания SelectedItemBinding свойства свойству объекта, отображаемого в каждой строке.
<NavigationWindow x:Class="DataGrid_CustomColumns.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:core="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:DataGrid_CustomColumns"
Title="Customers" Height="300" Width="300" ShowsNavigationUI="False" >
<NavigationWindow.Resources>
<!--Create list of enumeration values-->
<ObjectDataProvider x:Key="myEnum" MethodName="GetValues" ObjectType="{x:Type core:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type Type="local:OrderStatus"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<!--Create an instance of the converter for Email-->
<local:EmailConverter x:Key="EmailConverter" />
</NavigationWindow.Resources>
<NavigationWindow.Content>
<Grid>
<DataGrid Name="DG1" ItemsSource="{Binding}" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridComboBoxColumn Header="Order Status" SelectedItemBinding="{Binding Status}" ItemsSource="{Binding Source={StaticResource myEnum}}" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</NavigationWindow.Content>
</NavigationWindow>
public partial class Window1 : NavigationWindow
{
Class Window1
public Window1()
{
InitializeComponent();
//GetData() creates a collection of Customer data from a database
ObservableCollection<Customer> custdata = GetData();
//Bind the DataGrid to the customer data
DG1.DataContext = custdata;
}
Public Sub New()
' This call is required by the Windows Form Designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
'GetData() creates a collection of Customer data from a database
Dim custdata As ObservableCollection(Of Customer) = GetData()
'Bind the DataGrid to the customer data
DG1.DataContext = custdata
End Sub
//Defines the customer object
public class Customer
{
public string FirstName { get; set; }
public string LastName { get; set; }
public Uri Email { get; set; }
public bool IsMember { get; set; }
public OrderStatus Status { get; set; }
}
'Defines the customer object
Public Class Customer
Public Property FirstName() As String
Public Property LastName() As String
Public Property Email() As Uri
Public Property IsMember() As Boolean
Public Property Status() As OrderStatus
End Class
public enum OrderStatus { None, New, Processing, Shipped, Received };
Public Enum OrderStatus
None
[New]
Processing
Shipped
Received
End Enum
Комментарии
Используется DataGridComboBoxColumn для отображения данных, в которых есть набор элементов для выбора, например перечисление. DataGridComboBoxColumn позволяет пользователям выбирать элемент из раскрывающегося списка. На следующем рисунке показана DataGridComboBoxColumn.
Чтобы заполнить раскрывающийся список, сначала задайте ItemsSource свойство для свойства ComboBox с помощью одного из следующих параметров:
Статический ресурс. Дополнительные сведения см. в разделе "Расширение разметки StaticResource".
Сущность кода x:Static. Дополнительные сведения см. в разделе x:Static Markup Extension.
Встроенная коллекция ComboBoxItem типов.
ItemsSource После установки привязать выбранный элемент в ComboBox элементе данных для строки, в которую находится ячейка. Привязку можно задать с помощью одного из следующих свойств:
| Недвижимость | Описание |
|---|---|
| TextBinding | Задает путь привязки текста для выбранного элемента. |
| SelectedItemBinding | Задает путь привязки выбранного объекта. |
| SelectedValueBinding | Задает путь привязки к значению выбранного элемента, указанного свойством SelectedValuePath . |
IsReadOnly Если для свойства задано trueзначение, пользователи не смогут изменить столбец, и они не смогут просмотреть раскрывающийся список.
Если вы хотите отобразить другие типы данных, DataGrid укажите следующие типы столбцов:
| Тип столбца | Отображение данных |
|---|---|
| DataGridHyperlinkColumn | Используется для отображения данных URI. |
| DataGridCheckBoxColumn | Используется для отображения логических данных. |
| DataGridTextColumn | Используется для отображения текста. |
Если вы хотите использовать другие элементы управления в вашем DataGrid, можно создать собственные типы столбцов с помощью DataGridTemplateColumn.
Конструкторы
| Имя | Описание |
|---|---|
| DataGridComboBoxColumn() |
Инициализирует новый экземпляр класса DataGridComboBoxColumn. |
Поля
| Имя | Описание |
|---|---|
| DisplayMemberPathProperty |
Определяет DisplayMemberPath свойство зависимостей. |
| EditingElementStyleProperty |
Определяет EditingElementStyle свойство зависимостей. |
| ElementStyleProperty |
Определяет ElementStyle свойство зависимостей. |
| ItemsSourceProperty |
Определяет ItemsSource свойство зависимостей. |
| SelectedValuePathProperty |
Определяет SelectedValuePath свойство зависимостей. |
Свойства
| Имя | Описание |
|---|---|
| ActualWidth |
Возвращает текущую ширину столбца в единицах, независимых от устройства (1/96 дюйма на единицу). (Унаследовано от DataGridColumn) |
| CanUserReorder |
Возвращает или задает значение, указывающее, может ли пользователь изменить позицию отображения столбца путем перетаскивания заголовка столбца. (Унаследовано от DataGridColumn) |
| CanUserResize |
Возвращает или задает значение, указывающее, может ли пользователь настроить ширину столбца с помощью мыши. (Унаследовано от DataGridColumn) |
| CanUserSort |
Возвращает или задает значение, указывающее, может ли пользователь сортировать столбец, щелкнув заголовок столбца. (Унаследовано от DataGridColumn) |
| CellStyle |
Возвращает или задает стиль, используемый для отрисовки ячеек в столбце. (Унаследовано от DataGridColumn) |
| ClipboardContentBinding |
Возвращает или задает объект привязки, используемый при получении или настройке содержимого ячейки для буфера обмена. |
| DataGridOwner |
DataGrid Возвращает элемент управления, содержащий этот столбец. (Унаследовано от DataGridColumn) |
| DefaultEditingElementStyle |
Возвращает значение EditingElementStyle свойства по умолчанию. |
| DefaultElementStyle |
Возвращает значение по умолчанию объекта ElementStyle. |
| DependencyObjectType |
Возвращает объект DependencyObjectType , который упаковывает тип СРЕДЫ CLR этого экземпляра. (Унаследовано от DependencyObject) |
| Dispatcher |
Dispatcher Возвращает это DispatcherObject значение, с которым связано. (Унаследовано от DispatcherObject) |
| DisplayIndex |
Возвращает или задает позицию отображения столбца относительно других столбцов в .DataGrid (Унаследовано от DataGridColumn) |
| DisplayMemberPath |
Возвращает или задает путь к значению в исходном объекте, чтобы предоставить визуальное представление объекта. |
| DragIndicatorStyle |
Возвращает или задает объект стиля, применяемый к заголовку столбца во время операции перетаскивания. (Унаследовано от DataGridColumn) |
| EditingElementStyle |
Возвращает или задает стиль, используемый при отрисовке элемента, отображаемого столбцом для ячейки в режиме редактирования. |
| ElementStyle |
Возвращает или задает стиль, используемый при отрисовке элемента, отображаемого столбцом для ячейки, которая не находится в режиме редактирования. |
| Header |
Возвращает или задает содержимое заголовка столбца. (Унаследовано от DataGridColumn) |
| HeaderStringFormat |
Возвращает или задает шаблон формата, применяемый к содержимому заголовка столбца. (Унаследовано от DataGridColumn) |
| HeaderStyle |
Возвращает или задает стиль, используемый при отрисовке заголовка столбца. (Унаследовано от DataGridColumn) |
| HeaderTemplate |
Возвращает или задает шаблон, определяющий визуальное представление заголовка столбца. (Унаследовано от DataGridColumn) |
| HeaderTemplateSelector |
Возвращает или задает объект, который выбирает шаблон, используемый для заголовка столбца. (Унаследовано от DataGridColumn) |
| IsAutoGenerated |
Возвращает значение, указывающее, создается ли столбец автоматически. (Унаследовано от DataGridColumn) |
| IsFrozen |
Возвращает значение, указывающее, запрещено ли прокрутка столбца по горизонтали. (Унаследовано от DataGridColumn) |
| IsReadOnly |
Возвращает или задает значение, указывающее, можно ли изменять ячейки в столбце. (Унаследовано от DataGridColumn) |
| IsSealed |
Возвращает значение, указывающее, запечатан ли этот экземпляр (только для чтения). (Унаследовано от DependencyObject) |
| ItemsSource |
Возвращает или задает коллекцию, используемую для создания содержимого элемента управления со списком. |
| MaxWidth |
Возвращает или задает максимальное ограничение ширины столбца. (Унаследовано от DataGridColumn) |
| MinWidth |
Возвращает или задает минимальное ограничение ширины столбца. (Унаследовано от DataGridColumn) |
| SelectedItemBinding |
Возвращает или задает привязку для выбранного элемента. |
| SelectedValueBinding |
Возвращает или задает значение выбранного элемента, полученного с помощью SelectedValuePath. |
| SelectedValuePath |
Возвращает или задает путь, используемый для получения SelectedValue из .SelectedItem |
| SortDirection |
Возвращает или задает направление сортировки (по возрастанию или убыванию) столбца. (Унаследовано от DataGridColumn) |
| SortMemberPath |
Возвращает или задает имя свойства или иерархию имен свойств с разделителями периода, которая указывает на элемент для сортировки по. (Унаследовано от DataGridColumn) |
| TextBinding |
Получает или задает привязку для текста в текстовом поле элемента ComboBox управления. |
| TextBlockComboBoxStyleKey |
Возвращает ключ ресурса для стиля, применяемого к поле со списком только для чтения. |
| Visibility |
Возвращает или задает видимость столбца. (Унаследовано от DataGridColumn) |
| Width |
Возвращает или задает ширину столбца или режим автоматического изменения размера. (Унаследовано от DataGridColumn) |
Методы
| Имя | Описание |
|---|---|
| CancelCellEdit(FrameworkElement, Object) |
Приводит к тому, что ячейка столбца редактируется, чтобы вернуться к указанному значению. |
| CancelCellEdit(FrameworkElement, Object) |
Приводит к изменению ячейки, чтобы вернуться к исходному, неуправляемом значению. (Унаследовано от DataGridColumn) |
| CheckAccess() |
Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject. (Унаследовано от DispatcherObject) |
| ClearValue(DependencyProperty) |
Очищает локальное значение свойства. Свойство для очистки указывается идентификатором DependencyProperty . (Унаследовано от DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Очищает локальное значение свойства только для чтения. Свойство, которое необходимо очистить, задается параметром DependencyPropertyKey. (Унаследовано от DependencyObject) |
| CoerceValue(DependencyProperty) |
Принуждает значение указанного свойства зависимостей. Это достигается путем вызова любой CoerceValueCallback функции, указанной в метаданных свойств для свойства зависимостей, так как он существует при вызове DependencyObject. (Унаследовано от DependencyObject) |
| CommitCellEdit(FrameworkElement) |
Выполняет любую необходимую проверку перед выходом из режима редактирования. |
| CommitCellEdit(FrameworkElement) |
Выполняет любую необходимую проверку перед выходом из режима редактирования ячеек. (Унаследовано от DataGridColumn) |
| Equals(Object) |
Определяет, эквивалентен ли предоставленный DependencyObject объект текущему DependencyObject. (Унаследовано от DependencyObject) |
| GenerateEditingElement(DataGridCell, Object) |
Возвращает элемент управления со списком, привязанный к столбцу SelectedItemBindingи SelectedValueBindingTextBinding значениям. |
| GenerateElement(DataGridCell, Object) |
Получает элемент управления со списком только для чтения, привязанный к столбцу SelectedItemBindingSelectedValueBindingи TextBinding значениям. |
| GetCellContent(DataGridRow) |
Извлекает Content значение свойства ячейки на пересечении этого столбца и указанной строки. (Унаследовано от DataGridColumn) |
| GetCellContent(Object) |
Content Возвращает значение свойства ячейки на пересечении этого столбца и строки, представляющей указанный элемент данных. (Унаследовано от DataGridColumn) |
| GetHashCode() |
Получает хэш-код для этого DependencyObject. (Унаследовано от DependencyObject) |
| GetLocalValueEnumerator() |
Создает специализированный перечислитель для определения того, какие свойства зависимостей имеют локальные значения для этого DependencyObject. (Унаследовано от DependencyObject) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| GetValue(DependencyProperty) |
Возвращает текущее эффективное значение свойства зависимостей для этого экземпляра DependencyObject. (Унаследовано от DependencyObject) |
| InvalidateProperty(DependencyProperty) |
Повторно вычисляет эффективное значение для указанного свойства зависимостей. (Унаследовано от DependencyObject) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| NotifyPropertyChanged(String) |
Уведомляет DataGrid об изменении свойства столбца, содержащего этот столбец. (Унаследовано от DataGridColumn) |
| OnCoerceIsReadOnly(Boolean) |
Определяет значение IsReadOnly свойства на основе правил свойств из DataGrid столбца, содержащего этот столбец. |
| OnCopyingCellClipboardContent(Object) |
Вызывает событие CopyingCellClipboardContent. (Унаследовано от DataGridColumn) |
| OnPastingCellClipboardContent(Object, Object) |
Вызывает событие PastingCellClipboardContent. (Унаследовано от DataGridColumn) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Вызывается при каждом обновлении эффективного значения любого свойства DependencyObject зависимостей. Определенное свойство зависимостей, которое изменилось, сообщается в данных события. (Унаследовано от DependencyObject) |
| OnSelectedItemBindingChanged(BindingBase, BindingBase) |
Уведомляет DataGrid об SelectedItemBinding изменении свойства. |
| OnSelectedValueBindingChanged(BindingBase, BindingBase) |
Уведомляет DataGrid об SelectedValueBinding изменении свойства. |
| OnTextBindingChanged(BindingBase, BindingBase) |
Уведомляет DataGrid об TextBinding изменении свойства. |
| PrepareCellForEdit(FrameworkElement, RoutedEventArgs) |
Вызывается, когда ячейка в столбце входит в режим редактирования. |
| ReadLocalValue(DependencyProperty) |
Возвращает локальное значение свойства зависимостей, если оно существует. (Унаследовано от DependencyObject) |
| RefreshCellContent(FrameworkElement, String) |
Обновляет содержимое ячейки в столбце в ответ на изменение привязки. |
| SetCurrentValue(DependencyProperty, Object) |
Задает значение свойства зависимостей, не изменяя его источник значений. (Унаследовано от DependencyObject) |
| SetValue(DependencyProperty, Object) |
Задает локальное значение свойства зависимостей, указанное его идентификатором свойства зависимостей. (Унаследовано от DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Задает локальное значение свойства зависимостей только для чтения, указанное DependencyPropertyKey идентификатором свойства зависимости. (Унаследовано от DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Возвращает значение, указывающее, должны ли процессы сериализации сериализовать значение для указанного свойства зависимостей. (Унаследовано от DependencyObject) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| VerifyAccess() |
Принудительно применяет, что вызывающий поток имеет доступ к этому DispatcherObject. (Унаследовано от DispatcherObject) |
События
| Имя | Описание |
|---|---|
| CopyingCellClipboardContent |
Происходит после подготовки содержимого буфера обмена ячейки. (Унаследовано от DataGridColumn) |
| PastingCellClipboardContent |
Происходит перед перемещением содержимого буфера обмена в ячейку. (Унаследовано от DataGridColumn) |