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


DataGridComboBoxColumn Класс

Определение

Представляет столбец DataGrid, в ячейках которого размещаются элементы управления ComboBox.

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.

DataGridComboBoxColumn

Чтобы заполнить раскрывающийся список, сначала задайте ItemsSource свойство для с ComboBox помощью одного из следующих параметров:

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)

Применяется к