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


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и 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)

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