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, SelectedValueBinding и TextBinding столбца. |
GenerateElement(DataGridCell, Object) |
Получает доступный только для чтения элемент управления "поле со списком", который привязывается к значениям свойств SelectedItemBinding, SelectedValueBinding и 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) |