DataGridComboBoxColumn Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.
Para preencher a lista suspensa, defina primeiro a ItemsSource propriedade para o ComboBox usando uma das seguintes opções:
Um recurso estático. Para mais informações, consulte Extensão de Marcação StaticResource.
Uma entidade de código x:Estático. Para mais informações, veja x:Static Markup Extension.
Uma coleção inline de ComboBoxItem tipos.
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) |