DataGridComboBoxColumn Classe

Definição

Representa uma coluna DataGrid que hospeda controles ComboBox em suas células.Represents a DataGrid column that hosts ComboBox controls in its cells.

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
Herança

Exemplos

O exemplo a seguir mostra como preencher a lista suspensa para cada ComboBox uma na coluna com os valores de uma enumeração.The following example shows how to populate the drop-down list for each ComboBox in the column with the values of an enumeration. O item selecionado na lista suspensa é associado pela definição da SelectedItemBinding Propriedade à propriedade do objeto exibido em cada linha.The selected item in the drop-down list is bound by setting the SelectedItemBinding property to the property of the object displayed in each row.

<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

Comentários

Use DataGridComboBoxColumn para exibir dados em que há um conjunto de itens para escolher, como uma enumeração.Use DataGridComboBoxColumn to display data where there is a set of items to choose from, such as an enumeration. DataGridComboBoxColumnpermite que os usuários selecionem um item em uma lista suspensa.DataGridComboBoxColumn allows users to select an item from a drop-down list. A ilustração a seguir mostra DataGridComboBoxColumnum.The following illustration shows a DataGridComboBoxColumn.

A DataGridComboBoxColumnA DataGridComboBoxColumn

Para preencher a lista suspensa, primeiro defina a ItemsSource propriedade para o ComboBox usando uma das seguintes opções:To populate the drop-down list, first set the ItemsSource property for the ComboBox by using one of the following options:

Quando o ItemsSource estiver definido, associe o item selecionado ComboBox no ao item de dados para a linha na qual a célula está.Once the ItemsSource is set, bind the selected item in the ComboBox to the data item for the row that the cell is in. Você pode definir a Associação usando uma das seguintes propriedades:You can set the binding by using one of the following properties:

PropriedadeProperty DescriçãoDescription
TextBinding Define o caminho de associação do texto para o item selecionado no momento.Sets the binding path of the text for the currently selected item.
SelectedItemBinding Define o caminho de associação do objeto selecionado no momento.Sets the binding path of the object that is currently selected.
SelectedValueBinding Define o caminho de associação para o valor do item selecionado especificado pela SelectedValuePath propriedade.Sets the binding path to the value of the selected item specified by the SelectedValuePath property.

Quando a IsReadOnly propriedade é definida como true, os usuários não podem editar a coluna e não poderão ver a lista suspensa.When the IsReadOnly property is set to true, users cannot edit the column and they will not be able to see the drop-down list.

Se você quiser exibir outros tipos de dados, DataGrid o fornecerá os seguintes tipos de coluna:If you want to display other types of data, DataGrid provides the following column types:

Tipo de colunaColumn Type Exibição de dadosData Display
DataGridHyperlinkColumn Use para exibir dados de URI.Use to display URI data.
DataGridCheckBoxColumn Use para exibir dados boolianos.Use to display Boolean data.
DataGridTextColumn Use para exibir texto.Use to display text.

Se você quiser usar outros controles em seu DataGrid, poderá criar seus próprios tipos de coluna usando DataGridTemplateColumno.If you want to use other controls in your DataGrid, you can create your own column types by using DataGridTemplateColumn.

Construtores

DataGridComboBoxColumn()

Inicializa uma nova instância da classe DataGridComboBoxColumn.Initializes a new instance of the DataGridComboBoxColumn class.

Campos

DisplayMemberPathProperty

Identifica a propriedade de dependência DisplayMemberPath.Identifies the DisplayMemberPath dependency property.

EditingElementStyleProperty

Identifica a propriedade de dependência EditingElementStyle.Identifies the EditingElementStyle dependency property.

ElementStyleProperty

Identifica a propriedade de dependência ElementStyle.Identifies the ElementStyle dependency property.

ItemsSourceProperty

Identifica a propriedade de dependência ItemsSource.Identifies the ItemsSource dependency property.

SelectedValuePathProperty

Identifica a propriedade de dependência SelectedValuePath.Identifies the SelectedValuePath dependency property.

Propriedades

ActualWidth

Obtém a largura atual da coluna, em unidades independentes de dispositivo (1/96 polegada por unidade)device-independent units (1/96th inch per unit).Gets the current width of the column, in unidades independentes de dispositivo (1/96 polegada por unidade)device-independent units (1/96th inch per unit).

(Herdado de DataGridColumn)
CanUserReorder

Obtém ou define um valor que indica se o usuário pode alterar a posição de exibição da coluna arrastando o seu cabeçalho.Gets or sets a value that indicates whether the user can change the column display position by dragging the column header.

(Herdado de DataGridColumn)
CanUserResize

Obtém ou define um valor que indica se o usuário pode ajustar a largura da coluna usando o mouse.Gets or sets a value that indicates whether the user can adjust the column width by using the mouse.

(Herdado de DataGridColumn)
CanUserSort

Obtém ou define um valor que indica se o usuário pode classificar a coluna clicando no seu cabeçalho.Gets or sets a value that indicates whether the user can sort the column by clicking the column header.

(Herdado de DataGridColumn)
CellStyle

Obtém ou define o estilo usado para renderizar as células da coluna.Gets or sets the style that is used to render cells in the column.

(Herdado de DataGridColumn)
ClipboardContentBinding

Obtém ou define o objeto de associação a ser usado ao obter ou definir o conteúdo da célula para a área de transferência.Gets or sets the binding object to use when getting or setting cell content for the clipboard.

DataGridOwner

Obtém o controle DataGrid que contém esta coluna.Gets the DataGrid control that contains this column.

(Herdado de DataGridColumn)
DefaultEditingElementStyle

Obtém o valor padrão da propriedade EditingElementStyle.Gets the default value of the EditingElementStyle property.

DefaultElementStyle

Obtém o valor padrão da ElementStyle.Gets the default value of the ElementStyle.

DependencyObjectType

Obtém o DependencyObjectType que encapsula o tipo CLRCLR dessa instância.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Herdado de DependencyObject)
Dispatcher

Obtém o Dispatcher ao qual este DispatcherObject está associado.Gets the Dispatcher this DispatcherObject is associated with.

(Herdado de DispatcherObject)
DisplayIndex

Obtém ou define a posição de exibição da coluna em relação às outras colunas do DataGrid.Gets or sets the display position of the column relative to the other columns in the DataGrid.

(Herdado de DataGridColumn)
DisplayMemberPath

Obtém ou define um caminho para um valor no objeto de origem para fornecer a representação visual do objeto.Gets or sets a path to a value on the source object to provide the visual representation of the object.

DragIndicatorStyle

Obtém ou define o objeto de estilo para aplicar ao cabeçalho de coluna durante uma operação de arrastar.Gets or sets the style object to apply to the column header during a drag operation.

(Herdado de DataGridColumn)
EditingElementStyle

Obtém ou define o estilo usado ao renderizar o elemento que a coluna exibe para uma célula no modo de edição.Gets or sets the style that is used when rendering the element that the column displays for a cell in editing mode.

ElementStyle

Obtém ou define o estilo usado ao renderizar o elemento que a coluna exibe para uma célula que não está no modo de edição.Gets or sets the style that is used when rendering the element that the column displays for a cell that is not in editing mode.

Header

Obtém ou define o conteúdo do cabeçalho da coluna.Gets or sets the content of the column header.

(Herdado de DataGridColumn)
HeaderStringFormat

Obtém ou define o padrão de formato a ser aplicado ao conteúdo do cabeçalho de coluna.Gets or sets the format pattern to apply to the content of the column header.

(Herdado de DataGridColumn)
HeaderStyle

Obtém ou define o estilo usado ao renderizar o cabeçalho de coluna.Gets or sets the style that is used when rendering the column header.

(Herdado de DataGridColumn)
HeaderTemplate

Obtém ou define o modelo que define a representação visual do cabeçalho de coluna.Gets or sets the template that defines the visual representation of the column header.

(Herdado de DataGridColumn)
HeaderTemplateSelector

Obtém ou define o objeto que seleciona qual modelo usar para o cabeçalho de coluna.Gets or sets the object that selects which template to use for the column header.

(Herdado de DataGridColumn)
IsAutoGenerated

Obtém um valor que indica se a coluna é somente autogerenciada.Gets a value that indicates whether the column is auto-generated.

(Herdado de DataGridColumn)
IsFrozen

Obtém um valor que indica se a coluna está impedida de rolar horizontalmente.Gets a value that indicates whether the column is prevented from scrolling horizontally.

(Herdado de DataGridColumn)
IsReadOnly

Obtém ou define um valor que indica se as células na coluna podem ser editadas.Gets or sets a value that indicates whether cells in the column can be edited.

(Herdado de DataGridColumn)
IsSealed

Obtém um valor que indica se essa instância está validada no momento (somente leitura).Gets a value that indicates whether this instance is currently sealed (read-only).

(Herdado de DependencyObject)
ItemsSource

Obtém ou define uma coleção que é usada para gerar o conteúdo do controle de caixa de combinação.Gets or sets a collection that is used to generate the content of the combo box control.

MaxWidth

Obtém ou define a restrição de largura máxima da coluna.Gets or sets the maximum width constraint of the column.

(Herdado de DataGridColumn)
MinWidth

Obtém ou define a restrição de largura mínima da coluna.Gets or sets the minimum width constraint of the column.

(Herdado de DataGridColumn)
SelectedItemBinding

Obtém ou define a associação para o item selecionado.Gets or sets the binding for the currently selected item.

SelectedValueBinding

Obtém ou define o valor do item selecionado, obtido usando SelectedValuePath.Gets or sets the value of the selected item, obtained by using SelectedValuePath.

SelectedValuePath

Obtém ou define o caminho usado para obter o SelectedValue do SelectedItem.Gets or sets the path that is used to get the SelectedValue from the SelectedItem.

SortDirection

Obtém ou define a direção da classificação (crescente ou decrescente) da coluna.Gets or sets the sort direction (ascending or descending) of the column.

(Herdado de DataGridColumn)
SortMemberPath

Obtém ou define um nome de propriedade, ou uma hierarquia de nomes de propriedade baseada na delimitação por ponto, que indica o membro pelo qual classificar.Gets or sets a property name, or a period-delimited hierarchy of property names, that indicates the member to sort by.

(Herdado de DataGridColumn)
TextBinding

Obtém ou define a associação para o texto na parte da caixa de texto do controle ComboBox.Gets or sets the binding for the text in the text box portion of the ComboBox control.

TextBlockComboBoxStyleKey

Obtém a chave de recurso para o estilo a ser aplicado a uma caixa de combinação somente leitura.Gets the resource key for the style to apply to a read-only combo box.

Visibility

Obtém ou define a visibilidade da coluna.Gets or sets the visibility of the column.

(Herdado de DataGridColumn)
Width

Obtém ou define a largura da coluna ou o modo de dimensionamento automático.Gets or sets the column width or automatic sizing mode.

(Herdado de DataGridColumn)

Métodos

CancelCellEdit(FrameworkElement, Object)

Faz com que a célula da coluna que está sendo editada reverta para o valor especificado.Causes the column cell being edited to revert to the specified value.

CheckAccess()

Determina se o thread de chamada tem acesso a este DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Herdado de DispatcherObject)
ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade.Clears the local value of a property. A propriedade a ser limpa é especificada por um identificador DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

(Herdado de DependencyObject)
ClearValue(DependencyPropertyKey)

Limpa o valor local de uma propriedade somente leitura.Clears the local value of a read-only property. A propriedade a ser limpa é especificada por um DependencyPropertyKey.The property to be cleared is specified by a DependencyPropertyKey.

(Herdado de DependencyObject)
CoerceValue(DependencyProperty)

Converte o valor da propriedade de dependência especificada.Coerces the value of the specified dependency property. Isso é feito invocando qualquer função CoerceValueCallback especificada nos metadados de propriedade para a propriedade de dependência, visto que ela existe na chamada a DependencyObject.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Herdado de DependencyObject)
CommitCellEdit(FrameworkElement)

Realiza a validação necessária antes de sair do modo de edição.Performs any required validation before exiting the editing mode.

Equals(Object)

Determina se um DependencyObject fornecido é equivalente ao DependencyObject atual.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Herdado de DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Obtém um controle de caixa de combinação associado aos valores SelectedItemBinding, SelectedValueBinding e TextBinding da coluna.Gets a combo box control that is bound to the column's SelectedItemBinding, SelectedValueBinding, and TextBinding values.

GenerateElement(DataGridCell, Object)

Obtém um controle de caixa de combinação somente leitura associado aos valores SelectedItemBinding, SelectedValueBinding e TextBinding da coluna.Gets a read-only combo box control that is bound to the column's SelectedItemBinding, SelectedValueBinding, and TextBinding values.

GetCellContent(DataGridRow)

Recupera o valor da propriedade Content da célula na interseção dessa coluna e da linha especificada.Retrieves the Content property value for the cell at the intersection of this column and the specified row.

(Herdado de DataGridColumn)
GetCellContent(Object)

Obtém o valor da propriedade Content da célula na interseção dessa coluna e da linha que representa o item de dados especificado.Gets the Content property value for the cell at the intersection of this column and the row that represents the specified data item.

(Herdado de DataGridColumn)
GetHashCode()

Obtém o código hash para esse DependencyObject.Gets a hash code for this DependencyObject.

(Herdado de DependencyObject)
GetLocalValueEnumerator()

Cria um enumerador especializado para determinar quais propriedades de dependência têm valores definidos localmente nessa DependencyObject.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Herdado de DependencyObject)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
GetValue(DependencyProperty)

Retorna o valor efetivo atual de uma propriedade de dependência nessa instância de um DependencyObject.Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Herdado de DependencyObject)
InvalidateProperty(DependencyProperty)

Reavalia o valor efetivo para a propriedade de dependência especificada.Re-evaluates the effective value for the specified dependency property.

(Herdado de DependencyObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
NotifyPropertyChanged(String)

Notifica o DataGrid que contém essa coluna de que uma propriedade da coluna foi alterada.Notifies the DataGrid that contains this column that a column property has changed.

(Herdado de DataGridColumn)
OnCoerceIsReadOnly(Boolean)

Determina o valor da propriedade IsReadOnly com base nas regras de propriedade da DataGrid que contém essa coluna.Determines the value of the IsReadOnly property based on property rules from the DataGrid that contains this column.

OnCopyingCellClipboardContent(Object)

Aciona o evento CopyingCellClipboardContent.Raises the CopyingCellClipboardContent event.

(Herdado de DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

Aciona o evento PastingCellClipboardContent.Raises the PastingCellClipboardContent event.

(Herdado de DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Invocado sempre que o valor efetivo de qualquer propriedade de dependência nesse DependencyObject for atualizada.Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. A propriedade de dependência específica que mudou é relatada os dados do evento.The specific dependency property that changed is reported in the event data.

(Herdado de DependencyObject)
OnSelectedItemBindingChanged(BindingBase, BindingBase)

Notifica o DataGrid quando a propriedade SelectedItemBinding mudar.Notifies the DataGrid when the SelectedItemBinding property changes.

OnSelectedValueBindingChanged(BindingBase, BindingBase)

Notifica o DataGrid quando a propriedade SelectedValueBinding mudar.Notifies the DataGrid when the SelectedValueBinding property changes.

OnTextBindingChanged(BindingBase, BindingBase)

Notifica o DataGrid quando a propriedade TextBinding mudar.Notifies the DataGrid when the TextBinding property changes.

PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Chamado quando uma célula na coluna entra em modo de edição.Called when a cell in the column enters editing mode.

ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, local, se houver.Returns the local value of a dependency property, if it exists.

(Herdado de DependencyObject)
RefreshCellContent(FrameworkElement, String)

Atualiza o conteúdo de uma célula na coluna em resposta a uma alteração de associação.Refreshes the contents of a cell in the column in response to a binding change.

SetCurrentValue(DependencyProperty, Object)

Define o valor da propriedade de dependência sem alterar a origem do valor.Sets the value of a dependency property without changing its value source.

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência, especificada pelo identificador da propriedade de dependência.Sets the local value of a dependency property, specified by its dependency property identifier.

(Herdado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Define o valor de uma propriedade de dependência somente leitura, especificada pelo identificador DependencyPropertyKey da propriedade de dependência.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Herdado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Retorna um valor que indica se os processos de serialização devem serializar o valor da propriedade de dependência fornecida.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Herdado de DependencyObject)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)
VerifyAccess()

Impõe que o thread de chamada tenha acesso a este DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Herdado de DispatcherObject)

Eventos

CopyingCellClipboardContent

Ocorre depois que o conteúdo da Área de Transferência é preparado.Occurs after the cell clipboard content is prepared.

(Herdado de DataGridColumn)
PastingCellClipboardContent

Ocorre antes de o conteúdo da área de transferência ser movido para a célula.Occurs before the clipboard content is moved to the cell.

(Herdado de DataGridColumn)

Aplica-se a