DataGridComboBoxColumn Classe

Definição

Representa uma DataGrid coluna que aloja ComboBox controlos nas 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 seguinte mostra como preencher a lista suspensa de cada ComboBox uma na coluna com os valores de uma enumeração. O item selecionado na lista suspensa é limitado definindo SelectedItemBinding a propriedade para a propriedade do objeto apresentado 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

Observações

Use DataGridComboBoxColumn para mostrar dados onde existe um conjunto de itens para escolher, como uma enumeração. DataGridComboBoxColumn permite aos utilizadores selecionar um item a partir de uma lista suspensa. A ilustração a seguir mostra um DataGridComboBoxColumn.

Uma Coluna DataGridComboBox

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

Uma vez definido, ItemsSource associe o item selecionado ao ComboBox item de dados da linha em que a célula está. Pode definir a ligação usando uma das seguintes propriedades:

Property Description
TextBinding Define o caminho de ligação do texto para o item atualmente selecionado.
SelectedItemBinding Define o caminho de ligação do objeto atualmente selecionado.
SelectedValueBinding Define o caminho de ligação para o valor do item selecionado especificado pela SelectedValuePath propriedade.

Quando a IsReadOnly propriedade está definida para true, os utilizadores não podem editar a coluna e não poderão ver a lista suspensa.

Se quiser apresentar outros tipos de dados, DataGrid fornece os seguintes tipos de colunas:

Tipo de Coluna Exibição de dados
DataGridHyperlinkColumn Use para mostrar dados de URI.
DataGridCheckBoxColumn Uso para mostrar dados booleanos.
DataGridTextColumn Usa para mostrar texto.

Se quiser usar outros controlos no seu DataGrid, pode criar os seus próprios tipos de coluna usando DataGridTemplateColumn.

Construtores

Name Description
DataGridComboBoxColumn()

Inicializa uma nova instância da DataGridComboBoxColumn classe.

Campos

Name Description
DisplayMemberPathProperty

Identifica a DisplayMemberPath propriedade de dependência.

EditingElementStyleProperty

Identifica a EditingElementStyle propriedade de dependência.

ElementStyleProperty

Identifica a ElementStyle propriedade de dependência.

ItemsSourceProperty

Identifica a ItemsSource propriedade de dependência.

SelectedValuePathProperty

Identifica a SelectedValuePath propriedade de dependência.

Propriedades

Name Description
ActualWidth

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

(Herdado de DataGridColumn)
CanUserReorder

Recebe ou define um valor que indica se o utilizador pode alterar a posição de exibição da coluna arrastando o cabeçalho da coluna.

(Herdado de DataGridColumn)
CanUserResize

Recebe ou define um valor que indica se o utilizador pode ajustar a largura da coluna usando o rato.

(Herdado de DataGridColumn)
CanUserSort

Recebe ou define um valor que indica se o utilizador pode ordenar a coluna clicando no cabeçalho da coluna.

(Herdado de DataGridColumn)
CellStyle

Obtém ou define o estilo que é usado para renderizar células na coluna.

(Herdado de DataGridColumn)
ClipboardContentBinding

Obtém ou define o objeto de ligação para usar ao obter ou definir o conteúdo da célula para a área de transferência.

DataGridOwner

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

(Herdado de DataGridColumn)
DefaultEditingElementStyle

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

DefaultElementStyle

Obtém o valor padrão do ElementStyle.

DependencyObjectType

Obtém o DependencyObjectType que envolve o tipo CLR desta instância.

(Herdado de DependencyObject)
Dispatcher

Percebe o Dispatcher que isto 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 style para aplicar ao cabeçalho da coluna durante uma operação de arrasto.

(Herdado de DataGridColumn)
EditingElementStyle

Obtém ou define o estilo que é usado ao renderizar o elemento que a coluna apresenta para uma célula em modo de edição.

ElementStyle

Obtém ou define o estilo usado ao renderizar o elemento que a coluna apresenta para uma célula que não está em 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 aplicar ao conteúdo do cabeçalho da coluna.

(Herdado de DataGridColumn)
HeaderStyle

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

(Herdado de DataGridColumn)
HeaderTemplate

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

(Herdado de DataGridColumn)
HeaderTemplateSelector

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

(Herdado de DataGridColumn)
IsAutoGenerated

Obtém um valor que indica se a coluna é gerada automaticamente.

(Herdado de DataGridColumn)
IsFrozen

Recebe um valor que indica se a coluna está impedida de deslocar-se horizontalmente.

(Herdado de DataGridColumn)
IsReadOnly

Recebe ou define um valor que indica se as células da coluna podem ser editadas.

(Herdado de DataGridColumn)
IsSealed

Recebe um valor que indica se esta instância está atualmente selada (apenas leitura).

(Herdado de DependencyObject)
ItemsSource

Obtém ou define uma coleção que é usada para gerar o conteúdo do controlo da caixa de combo.

MaxWidth

Obtém ou define a restrição máxima de largura 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 ligação para o item atualmente selecionado.

SelectedValueBinding

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

SelectedValuePath

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

SortDirection

Obtém ou define a direção de ordenação (ascendente ou descendente) da coluna.

(Herdado de DataGridColumn)
SortMemberPath

Obtém ou define um nome de propriedade, ou uma hierarquia delimitada por períodos de nomes de propriedades, que indica o membro por que se deve ordenar.

(Herdado de DataGridColumn)
TextBinding

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

TextBlockComboBoxStyleKey

Obtém a chave de recurso do estilo para aplicar a uma caixa de combo só de 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 automático de dimensionamento.

(Herdado de DataGridColumn)

Métodos

Name Description
CancelCellEdit(FrameworkElement, Object)

Faz com que a célula da coluna editada volte a ser o valor especificado.

CancelCellEdit(FrameworkElement, Object)

Faz com que a célula que está a ser editada volte ao valor original, não editado.

(Herdado de DataGridColumn)
CheckAccess()

Determina se o thread que chama 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 DependencyProperty identificador.

(Herdado de DependencyObject)
ClearValue(DependencyPropertyKey)

Limpa o valor local de uma propriedade de apenas leitura. O imóvel a ser limpo é especificado por um DependencyPropertyKey.

(Herdado de DependencyObject)
CoerceValue(DependencyProperty)

Coage o valor da propriedade de dependência especificada. Isto é conseguido invocando qualquer CoerceValueCallback função especificada nos metadados da propriedade para a propriedade de dependência tal como existe na chamada DependencyObject.

(Herdado de DependencyObject)
CommitCellEdit(FrameworkElement)

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

CommitCellEdit(FrameworkElement)

Realiza qualquer validação necessária antes de sair do modo de edição de células.

(Herdado de DataGridColumn)
Equals(Object)

Determina se um fornecido DependencyObject é equivalente à corrente DependencyObject.

(Herdado de DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Obtém um controlo de combo box que está associado aos valores da coluna SelectedItemBinding, SelectedValueBinding, e TextBinding

GenerateElement(DataGridCell, Object)

Recebe um controlo de caixa combinada só de leitura que está associado aos valores da coluna SelectedItemBinding, SelectedValueBinding, TextBinding e .

GetCellContent(DataGridRow)

Recupera o Content valor da propriedade da célula na interseção desta coluna com a linha especificada.

(Herdado de DataGridColumn)
GetCellContent(Object)

Obtém o Content valor da propriedade da célula na interseção desta coluna com a linha que representa o elemento de dados especificado.

(Herdado de DataGridColumn)
GetHashCode()

Obtém um código de hash para isto DependencyObject.

(Herdado de DependencyObject)
GetLocalValueEnumerator()

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

(Herdado de DependencyObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetValue(DependencyProperty)

Devolve o valor efetivo atual de uma propriedade de dependência nesta instância de um DependencyObject.

(Herdado de DependencyObject)
InvalidateProperty(DependencyProperty)

Reavalia o valor efetivo da propriedade de dependência especificada.

(Herdado de DependencyObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
NotifyPropertyChanged(String)

Notifica o DataGrid que contém esta coluna que uma propriedade da coluna mudou.

(Herdado de DataGridColumn)
OnCoerceIsReadOnly(Boolean)

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

OnCopyingCellClipboardContent(Object)

Eleva o CopyingCellClipboardContent evento.

(Herdado de DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

Eleva o PastingCellClipboardContent evento.

(Herdado de DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Invocado sempre que o valor efetivo de qualquer propriedade de dependência disto DependencyObject for atualizado. A propriedade específica da dependência que mudou é reportada nos dados do evento.

(Herdado de DependencyObject)
OnSelectedItemBindingChanged(BindingBase, BindingBase)

Notifica quando DataGrid a SelectedItemBinding propriedade muda.

OnSelectedValueBindingChanged(BindingBase, BindingBase)

Notifica quando DataGrid a SelectedValueBinding propriedade muda.

OnTextBindingChanged(BindingBase, BindingBase)

Notifica quando DataGrid a TextBinding propriedade muda.

PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

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

ReadLocalValue(DependencyProperty)

Devolve o valor local de uma propriedade de dependência, se esta existir.

(Herdado de DependencyObject)
RefreshCellContent(FrameworkElement, String)

Atualiza o conteúdo de uma célula na coluna em resposta a uma alteração de ligação.

SetCurrentValue(DependencyProperty, Object)

Define o valor de uma propriedade de dependência sem alterar a sua fonte de valor.

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência, especificado pelo seu identificador de propriedade de dependência.

(Herdado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Define o valor local de uma propriedade de dependência somente de leitura, especificado pelo DependencyPropertyKey identificador da propriedade de dependência.

(Herdado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Devolve um valor que indica se os processos de serialização devem serializar o valor da propriedade de dependência fornecida.

(Herdado de DependencyObject)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
VerifyAccess()

Faz cumprir que o thread que chama tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)

evento

Name Description
CopyingCellClipboardContent

Ocorre depois de preparar o conteúdo da prancheta da célula.

(Herdado de DataGridColumn)
PastingCellClipboardContent

Ocorre antes de o conteúdo da prancheta ser transferido para a célula.

(Herdado de DataGridColumn)

Aplica-se a