DataGridComboBoxColumn Classe

Definição

Representa uma coluna DataGrid que hospeda controles ComboBox em suas células.

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. O item selecionado na lista suspensa é associado definindo a SelectedItemBinding propriedade como a propriedade do objeto exibido em cada linha.

<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. DataGridComboBoxColumn permite que os usuários selecionem um item em uma lista suspensa. A ilustração a seguir mostra um DataGridComboBoxColumn.

Um DataGridComboBoxColumn

Para preencher a lista suspensa, primeiro defina a ItemsSource propriedade para o ComboBox usando uma das seguintes opções:

Depois que o ItemsSource for definido, associe o item selecionado no ComboBox ao item de dados da linha em que a célula está. Você pode definir a associação usando uma das seguintes propriedades:

Propriedade Descrição
TextBinding Define o caminho de associação do texto para o item selecionado no momento.
SelectedItemBinding Define o caminho de associação do objeto que está selecionado no momento.
SelectedValueBinding Define o caminho de associação para o valor do item selecionado especificado pela SelectedValuePath propriedade .

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.

Se você quiser exibir outros tipos de dados, DataGrid fornecerá os seguintes tipos de coluna:

Tipo de coluna Exibição de dados
DataGridHyperlinkColumn Use para exibir dados de URI.
DataGridCheckBoxColumn Use para exibir dados boolianos.
DataGridTextColumn Use para exibir texto.

Se você quiser usar outros controles em seu DataGrid, poderá criar seus próprios tipos de coluna usando DataGridTemplateColumn.

Construtores

DataGridComboBoxColumn()

Inicializa uma nova instância da classe DataGridComboBoxColumn.

Campos

DisplayMemberPathProperty

Identifica a propriedade de dependência DisplayMemberPath.

EditingElementStyleProperty

Identifica a propriedade de dependência EditingElementStyle.

ElementStyleProperty

Identifica a propriedade de dependência ElementStyle.

ItemsSourceProperty

Identifica a propriedade de dependência ItemsSource.

SelectedValuePathProperty

Identifica a propriedade de dependência SelectedValuePath.

Propriedades

ActualWidth

Obtém a largura atual da coluna, em unidades independentes do dispositivo (1/96 polegada por unidade).

(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.

(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.

(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.

(Herdado de DataGridColumn)
CellStyle

Obtém ou define o estilo usado para renderizar as células da coluna.

(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.

DataGridOwner

Obtém o controle DataGrid que contém esta coluna.

(Herdado de DataGridColumn)
DefaultEditingElementStyle

Obtém o valor padrão da propriedade EditingElementStyle.

DefaultElementStyle

Obtém o valor padrão da ElementStyle.

DependencyObjectType

Obtém o DependencyObjectType que encapsula o tipo CLR dessa instância.

(Herdado de DependencyObject)
Dispatcher

Obtém o Dispatcher ao qual este DispatcherObject está associado.

(Herdado de DispatcherObject)
DisplayIndex

Obtém ou define a posição de exibição da coluna em relação às outras colunas do 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.

DragIndicatorStyle

Obtém ou define o objeto de estilo para aplicar ao cabeçalho de coluna durante uma operação de arrastar.

(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.

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.

Header

Obtém ou define o conteúdo do cabeçalho da coluna.

(Herdado de DataGridColumn)
HeaderStringFormat

Obtém ou define o padrão de formato a ser aplicado ao conteúdo do cabeçalho de coluna.

(Herdado de DataGridColumn)
HeaderStyle

Obtém ou define o estilo usado ao renderizar o cabeçalho de coluna.

(Herdado de DataGridColumn)
HeaderTemplate

Obtém ou define o modelo que define a representação visual do cabeçalho de coluna.

(Herdado de DataGridColumn)
HeaderTemplateSelector

Obtém ou define o objeto que seleciona qual modelo usar para o cabeçalho de coluna.

(Herdado de DataGridColumn)
IsAutoGenerated

Obtém um valor que indica se a coluna é somente autogerenciada.

(Herdado de DataGridColumn)
IsFrozen

Obtém um valor que indica se a coluna está impedida de rolar horizontalmente.

(Herdado de DataGridColumn)
IsReadOnly

Obtém ou define um valor que indica se as células na coluna podem ser editadas.

(Herdado de DataGridColumn)
IsSealed

Obtém um valor que indica se essa instância está validada no momento (somente leitura).

(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.

MaxWidth

Obtém ou define a restrição de largura máxima da coluna.

(Herdado de DataGridColumn)
MinWidth

Obtém ou define a restrição de largura mínima da coluna.

(Herdado de DataGridColumn)
SelectedItemBinding

Obtém ou define a associação para o item selecionado.

SelectedValueBinding

Obtém ou define o valor do item selecionado, obtido usando SelectedValuePath.

SelectedValuePath

Obtém ou define o caminho usado para obter o SelectedValue do SelectedItem.

SortDirection

Obtém ou define a direção da classificação (crescente ou decrescente) da coluna.

(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.

(Herdado de DataGridColumn)
TextBinding

Obtém ou define a associação para o texto na parte da caixa de texto do controle ComboBox.

TextBlockComboBoxStyleKey

Obtém a chave de recurso para o estilo a ser aplicado a uma caixa de combinação somente leitura.

Visibility

Obtém ou define a visibilidade da coluna.

(Herdado de DataGridColumn)
Width

Obtém ou define a largura da coluna ou o modo de dimensionamento automático.

(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.

CancelCellEdit(FrameworkElement, Object)

Faz com que a célula que está sendo editada reverta para o valor original não editado.

(Herdado de DataGridColumn)
CheckAccess()

Determina se o thread de chamada tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)
ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade. A propriedade a ser limpa é especificada por um identificador DependencyProperty.

(Herdado de DependencyObject)
ClearValue(DependencyPropertyKey)

Limpa o valor local de uma propriedade somente leitura. A propriedade a ser limpa é especificada por um DependencyPropertyKey.

(Herdado de DependencyObject)
CoerceValue(DependencyProperty)

Converte o valor da propriedade de dependência especificada. 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.

(Herdado de DependencyObject)
CommitCellEdit(FrameworkElement)

Realiza a validação necessária antes de sair do modo de edição.

CommitCellEdit(FrameworkElement)

Realiza a validação necessária antes de sair do modo de edição da célula.

(Herdado de DataGridColumn)
Equals(Object)

Determina se um DependencyObject fornecido é equivalente ao DependencyObject atual.

(Herdado de DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Obtém um controle de caixa de combinação associado aos valores SelectedItemBinding, SelectedValueBinding e TextBinding da coluna.

GenerateElement(DataGridCell, Object)

Obtém um controle de caixa de combinação somente leitura associado aos valores SelectedItemBinding, SelectedValueBinding e TextBinding da coluna.

GetCellContent(DataGridRow)

Recupera o valor da propriedade Content da célula na interseção dessa coluna e da linha especificada.

(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.

(Herdado de DataGridColumn)
GetHashCode()

Obtém o código hash para esse DependencyObject.

(Herdado de DependencyObject)
GetLocalValueEnumerator()

Cria um enumerador especializado para determinar quais propriedades de dependência têm valores definidos localmente nessa DependencyObject.

(Herdado de DependencyObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetValue(DependencyProperty)

Retorna o valor efetivo atual de uma propriedade de dependência nessa instância de um DependencyObject.

(Herdado de DependencyObject)
InvalidateProperty(DependencyProperty)

Reavalia o valor efetivo para a propriedade de dependência especificada.

(Herdado de DependencyObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
NotifyPropertyChanged(String)

Notifica o DataGrid que contém essa coluna de que uma propriedade da coluna foi alterada.

(Herdado de DataGridColumn)
OnCoerceIsReadOnly(Boolean)

Determina o valor da propriedade IsReadOnly com base nas regras de propriedade da DataGrid que contém essa coluna.

OnCopyingCellClipboardContent(Object)

Aciona o evento CopyingCellClipboardContent.

(Herdado de DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

Aciona o evento PastingCellClipboardContent.

(Herdado de DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Invocado sempre que o valor efetivo de qualquer propriedade de dependência nesse DependencyObject for atualizado. A propriedade de dependência específica que mudou é relatada os dados do evento.

(Herdado de DependencyObject)
OnSelectedItemBindingChanged(BindingBase, BindingBase)

Notifica o DataGrid quando a propriedade SelectedItemBinding mudar.

OnSelectedValueBindingChanged(BindingBase, BindingBase)

Notifica o DataGrid quando a propriedade SelectedValueBinding mudar.

OnTextBindingChanged(BindingBase, BindingBase)

Notifica o DataGrid quando a propriedade TextBinding mudar.

PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Chamado quando uma célula na coluna entra em modo de edição.

ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, local, se houver.

(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.

SetCurrentValue(DependencyProperty, Object)

Define o valor da propriedade de dependência sem alterar a origem do valor.

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência, especificada pelo identificador da propriedade de dependência.

(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.

(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.

(Herdado de DependencyObject)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
VerifyAccess()

Impõe que o thread de chamada tenha acesso a este DispatcherObject.

(Herdado de DispatcherObject)

Eventos

CopyingCellClipboardContent

Ocorre depois que o conteúdo da Área de Transferência é preparado.

(Herdado de DataGridColumn)
PastingCellClipboardContent

Ocorre antes de o conteúdo da área de transferência ser movido para a célula.

(Herdado de DataGridColumn)

Aplica-se a