DataGridComboBoxColumn Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 das colunas com os valores de uma enumeração. O item selecionado na lista suspensa é associado definindo a SelectedItemBinding propriedade à 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.
Para preencher a lista suspensa, primeiro defina a ItemsSource propriedade para ela ComboBox usando uma das seguintes opções:
Um recurso estático. Para obter mais informações, consulte StaticResource Markup Extension.
Uma entidade de código x:static. Para obter mais informações, consulte x:Static Markup Extension.
Uma coleção embutida de ComboBoxItem tipos.
Depois de ItemsSource definido, associe o item selecionado no ComboBox 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, você pode criar seus próprios tipos de coluna usando DataGridTemplateColumn.
Construtores
| Nome | Description |
|---|---|
| DataGridComboBoxColumn() |
Inicializa uma nova instância da classe DataGridComboBoxColumn. |
Campos
| Nome | 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
| Nome | Description |
|---|---|
| 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 cabeçalho da coluna. (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 cabeçalho da coluna. (Herdado de DataGridColumn) |
| CellStyle |
Obtém ou define o estilo usado para renderizar células na 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 DataGrid controle 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 encapsula o tipo CLR dessa instância. (Herdado de DependencyObject) |
| Dispatcher |
Obtém o Dispatcher que DispatcherObject está associado. (Herdado de DispatcherObject) |
| DisplayIndex |
Obtém ou define a posição de exibição da coluna relativa às outras colunas no 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 a ser aplicado ao cabeçalho da 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 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 de coluna. (Herdado de DataGridColumn) |
| IsAutoGenerated |
Obtém um valor que indica se a coluna é gerada automaticamente. (Herdado de DataGridColumn) |
| IsFrozen |
Obtém um valor que indica se a coluna é 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á lacrada 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 no momento. |
| SelectedValueBinding |
Obtém ou define o valor do item selecionado, obtido usando SelectedValuePath. |
| SelectedValuePath |
Obtém ou define o caminho usado para obter o SelectedValueSelectedItem. |
| SortDirection |
Obtém ou define a direção de classificação (crescente ou decrescente) da coluna. (Herdado de DataGridColumn) |
| SortMemberPath |
Obtém ou define um nome de propriedade, ou uma hierarquia delimitada por período de nomes de propriedade, 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 ComboBox controle. |
| 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
| Nome | Description |
|---|---|
| CancelCellEdit(FrameworkElement, Object) |
Faz com que a célula de 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 isso DispatcherObject. (Herdado de DispatcherObject) |
| ClearValue(DependencyProperty) |
Limpa o valor local de uma propriedade. A propriedade a ser desmarcada é especificada por um DependencyProperty identificador. (Herdado de DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Limpa o valor local de uma propriedade somente leitura. A propriedade a ser desmarcada é especificada por um DependencyPropertyKey. (Herdado de DependencyObject) |
| CoerceValue(DependencyProperty) |
Coagi o valor da propriedade de dependência especificada. Isso é feito invocando qualquer CoerceValueCallback função especificada nos metadados de propriedade para a propriedade de dependência como ela existe na chamada DependencyObject. (Herdado de DependencyObject) |
| CommitCellEdit(FrameworkElement) |
Executa qualquer validação necessária antes de sair do modo de edição. |
| CommitCellEdit(FrameworkElement) |
Executa qualquer validação necessária antes de sair do modo de edição de célula. (Herdado de DataGridColumn) |
| Equals(Object) |
Determina se um fornecido DependencyObject é equivalente ao atual DependencyObject. (Herdado de DependencyObject) |
| GenerateEditingElement(DataGridCell, Object) |
Obtém um controle de caixa de combinação associado aos valores e à colunaSelectedItemBindingSelectedValueBinding.TextBinding |
| GenerateElement(DataGridCell, Object) |
Obtém um controle de caixa de combinação somente leitura associado aos valores e TextBinding à coluna. SelectedValueBindingSelectedItemBinding |
| GetCellContent(DataGridRow) |
Recupera o valor da Content propriedade da célula na interseção desta coluna e da linha especificada. (Herdado de DataGridColumn) |
| GetCellContent(Object) |
Obtém o Content valor da propriedade da célula na interseção desta coluna e da linha que representa o item de dados especificado. (Herdado de DataGridColumn) |
| GetHashCode() |
Obtém um código hash para isso DependencyObject. (Herdado de DependencyObject) |
| GetLocalValueEnumerator() |
Cria um enumerador especializado para determinar quais propriedades de dependência têm valores definidos localmente.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 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 Objectatual. (Herdado de Object) |
| NotifyPropertyChanged(String) |
Notifica o DataGrid que contém esta coluna de que uma propriedade de coluna foi alterada. (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) |
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 tiver DependencyObject sido atualizado. A propriedade de dependência específica que foi alterada é relatada nos dados do evento. (Herdado de DependencyObject) |
| OnSelectedItemBindingChanged(BindingBase, BindingBase) |
Notifica quando DataGrid a SelectedItemBinding propriedade é alterada. |
| OnSelectedValueBindingChanged(BindingBase, BindingBase) |
Notifica quando DataGrid a SelectedValueBinding propriedade é alterada. |
| OnTextBindingChanged(BindingBase, BindingBase) |
Notifica quando DataGrid a TextBinding propriedade é alterada. |
| PrepareCellForEdit(FrameworkElement, RoutedEventArgs) |
Chamado quando uma célula na coluna entra no modo de edição. |
| ReadLocalValue(DependencyProperty) |
Retorna o valor local de uma propriedade de dependência, se ela existir. (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 de uma propriedade de dependência sem alterar sua fonte de valor. (Herdado de DependencyObject) |
| SetValue(DependencyProperty, Object) |
Define o valor local de uma propriedade de dependência, especificada por seu identificador de propriedade de dependência. (Herdado de DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Define o valor local de uma propriedade de dependência somente leitura, especificada pelo DependencyPropertyKey identificador 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 isso DispatcherObject. (Herdado de DispatcherObject) |
Eventos
| Nome | Description |
|---|---|
| CopyingCellClipboardContent |
Ocorre depois que o conteúdo da área de transferência da célula é preparado. (Herdado de DataGridColumn) |
| PastingCellClipboardContent |
Ocorre antes que o conteúdo da área de transferência seja movido para a célula. (Herdado de DataGridColumn) |