DataGridComboBoxColumn Clase

Definición

Representa una columna DataGrid que hospeda los controles ComboBox en sus celdas.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
Herencia

Ejemplos

En el ejemplo siguiente se muestra cómo rellenar la lista desplegable de cada ComboBox de la columna con los valores de una enumeración.The following example shows how to populate the drop-down list for each ComboBox in the column with the values of an enumeration. El elemento seleccionado en la lista desplegable se enlaza estableciendo la propiedad en SelectedItemBinding la propiedad del objeto que se muestra en cada fila.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

Comentarios

Use DataGridComboBoxColumn para mostrar los datos en los que hay un conjunto de elementos entre los que elegir, como una enumeración.Use DataGridComboBoxColumn to display data where there is a set of items to choose from, such as an enumeration. DataGridComboBoxColumn permite a los usuarios seleccionar un elemento de una lista desplegable.DataGridComboBoxColumn allows users to select an item from a drop-down list. En la ilustración siguiente se muestra un DataGridComboBoxColumn .The following illustration shows a DataGridComboBoxColumn.

DataGridComboBoxColumnA DataGridComboBoxColumn

Para rellenar la lista desplegable, establezca primero la ItemsSource propiedad para mediante ComboBox una de las siguientes opciones:To populate the drop-down list, first set the ItemsSource property for the ComboBox by using one of the following options:

Una vez que ItemsSource se establece, enlace el elemento seleccionado en el ComboBox elemento de datos para la fila en la que se encuentra la celda.Once the ItemsSource is set, bind the selected item in the ComboBox to the data item for the row that the cell is in. Puede establecer el enlace mediante una de las siguientes propiedades:You can set the binding by using one of the following properties:

PropiedadProperty DescripciónDescription
TextBinding Establece la ruta de acceso de enlace del texto para el elemento seleccionado actualmente.Sets the binding path of the text for the currently selected item.
SelectedItemBinding Establece la ruta de acceso de enlace del objeto que está seleccionado actualmente.Sets the binding path of the object that is currently selected.
SelectedValueBinding Establece la ruta de acceso de enlace al valor del elemento seleccionado especificado por la SelectedValuePath propiedad.Sets the binding path to the value of the selected item specified by the SelectedValuePath property.

Cuando la IsReadOnly propiedad está establecida en true , los usuarios no pueden editar la columna y no podrán ver la lista desplegable.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.

Si desea mostrar otros tipos de datos, DataGrid proporciona los siguientes tipos de columna:If you want to display other types of data, DataGrid provides the following column types:

Tipo de columnaColumn Type Presentación de datosData Display
DataGridHyperlinkColumn Use para mostrar los datos de URI.Use to display URI data.
DataGridCheckBoxColumn Use para Mostrar datos booleanos.Use to display Boolean data.
DataGridTextColumn Se usa para mostrar texto.Use to display text.

Si desea utilizar otros controles en DataGrid , puede crear sus propios tipos de columna mediante DataGridTemplateColumn .If you want to use other controls in your DataGrid, you can create your own column types by using DataGridTemplateColumn.

Constructores

DataGridComboBoxColumn()

Inicializa una nueva instancia de la clase DataGridComboBoxColumn.Initializes a new instance of the DataGridComboBoxColumn class.

Campos

DisplayMemberPathProperty

Identifica la propiedad de dependencia DisplayMemberPath.Identifies the DisplayMemberPath dependency property.

EditingElementStyleProperty

Identifica la propiedad de dependencia EditingElementStyle.Identifies the EditingElementStyle dependency property.

ElementStyleProperty

Identifica la propiedad de dependencia ElementStyle.Identifies the ElementStyle dependency property.

ItemsSourceProperty

Identifica la propiedad de dependencia ItemsSource.Identifies the ItemsSource dependency property.

SelectedValuePathProperty

Identifica la propiedad de dependencia SelectedValuePath.Identifies the SelectedValuePath dependency property.

Propiedades

ActualWidth

Obtiene el ancho actual de la columna en unidades independientes de dispositivo (1/96 de pulgada por unidad)device-independent units (1/96th inch per unit).Gets the current width of the column, in unidades independientes de dispositivo (1/96 de pulgada por unidad)device-independent units (1/96th inch per unit).

(Heredado de DataGridColumn)
CanUserReorder

Obtiene o establece un valor que indica si el usuario puede cambiar la posición de visualización de una columna arrastrando el encabezado de columna.Gets or sets a value that indicates whether the user can change the column display position by dragging the column header.

(Heredado de DataGridColumn)
CanUserResize

Obtiene o establece un valor que indica si el usuario puede ajustar el ancho de columna mediante el mouse.Gets or sets a value that indicates whether the user can adjust the column width by using the mouse.

(Heredado de DataGridColumn)
CanUserSort

Obtiene o establece un valor que indica si el usuario puede ordenar la columna haciendo clic en el encabezado de columna.Gets or sets a value that indicates whether the user can sort the column by clicking the column header.

(Heredado de DataGridColumn)
CellStyle

Obtiene o establece el estilo que se utiliza para representar celdas en la columna.Gets or sets the style that is used to render cells in the column.

(Heredado de DataGridColumn)
ClipboardContentBinding

Obtiene o establece el objeto de enlace que se va a usar al obtener o establecer el contenido de celda del Portapapeles.Gets or sets the binding object to use when getting or setting cell content for the clipboard.

DataGridOwner

Obtiene el control DataGrid que contiene esta columna.Gets the DataGrid control that contains this column.

(Heredado de DataGridColumn)
DefaultEditingElementStyle

Obtiene el valor predeterminado de la propiedad EditingElementStyle.Gets the default value of the EditingElementStyle property.

DefaultElementStyle

Obtiene el valor predeterminado de la propiedad ElementStyle.Gets the default value of the ElementStyle.

DependencyObjectType

Obtiene el objeto DependencyObjectType que ajusta el tipo CLRCLR de esta instancia.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Heredado de DependencyObject)
Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Heredado de DispatcherObject)
DisplayIndex

Obtiene o establece la posición de presentación de la columna con respecto a las demás columnas de DataGrid.Gets or sets the display position of the column relative to the other columns in the DataGrid.

(Heredado de DataGridColumn)
DisplayMemberPath

Obtiene o establece una ruta de acceso a un valor del objeto de origen para proporcionar la representación visual del objeto.Gets or sets a path to a value on the source object to provide the visual representation of the object.

DragIndicatorStyle

Obtiene o establece el objeto de estilo que se va a aplicar al encabezado de columna durante una operación de arrastre.Gets or sets the style object to apply to the column header during a drag operation.

(Heredado de DataGridColumn)
EditingElementStyle

Obtiene o establece el estilo que se utiliza al representar el elemento que la columna muestra para una celda en el modo de edición.Gets or sets the style that is used when rendering the element that the column displays for a cell in editing mode.

ElementStyle

Obtiene o establece el estilo que se utiliza al representar el elemento que la columna muestra para una celda que no está en el modo de edición.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

Obtiene o establece el contenido del encabezado de columna.Gets or sets the content of the column header.

(Heredado de DataGridColumn)
HeaderStringFormat

Obtiene o establece el modelo de formato que se aplica al contenido del encabezado de columna.Gets or sets the format pattern to apply to the content of the column header.

(Heredado de DataGridColumn)
HeaderStyle

Obtiene o establece el estilo que se usa al representar el encabezado de columna.Gets or sets the style that is used when rendering the column header.

(Heredado de DataGridColumn)
HeaderTemplate

Obtiene o establece la plantilla que define la representación visual del encabezado de columna.Gets or sets the template that defines the visual representation of the column header.

(Heredado de DataGridColumn)
HeaderTemplateSelector

Obtiene o establece el objeto que selecciona la plantilla que se va a usar para el encabezado de columna.Gets or sets the object that selects which template to use for the column header.

(Heredado de DataGridColumn)
IsAutoGenerated

Obtiene un valor que indica si la columna se genera automáticamente.Gets a value that indicates whether the column is auto-generated.

(Heredado de DataGridColumn)
IsFrozen

Obtiene un valor que indica si la columna no se puede desplazar horizontalmente.Gets a value that indicates whether the column is prevented from scrolling horizontally.

(Heredado de DataGridColumn)
IsReadOnly

Obtiene o establece un valor que indica si se pueden editar las celdas de la columna.Gets or sets a value that indicates whether cells in the column can be edited.

(Heredado de DataGridColumn)
IsSealed

Obtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura).Gets a value that indicates whether this instance is currently sealed (read-only).

(Heredado de DependencyObject)
ItemsSource

Obtiene o establece una colección que se utiliza para generar el contenido del control de cuadro combinado.Gets or sets a collection that is used to generate the content of the combo box control.

MaxWidth

Obtiene o establece la restricción de ancho máximo de la columna.Gets or sets the maximum width constraint of the column.

(Heredado de DataGridColumn)
MinWidth

Obtiene o establece la restricción de ancho mínimo de la columna.Gets or sets the minimum width constraint of the column.

(Heredado de DataGridColumn)
SelectedItemBinding

Obtiene o establece el enlace del elemento seleccionado actualmente.Gets or sets the binding for the currently selected item.

SelectedValueBinding

Obtiene o establece el valor del elemento seleccionado que se ha obtenido mediante SelectedValuePath.Gets or sets the value of the selected item, obtained by using SelectedValuePath.

SelectedValuePath

Obtiene o establece la ruta de acceso que se utiliza para obtener la propiedad SelectedValue de la propiedad SelectedItem.Gets or sets the path that is used to get the SelectedValue from the SelectedItem.

SortDirection

Obtiene o establece la dirección de ordenación (ascendente o descendente) de la columna.Gets or sets the sort direction (ascending or descending) of the column.

(Heredado de DataGridColumn)
SortMemberPath

Obtiene o establece un nombre de propiedad (o una jerarquía de nombres de propiedad delimitada por puntos) que indica el miembro por el que se debe ordenar.Gets or sets a property name, or a period-delimited hierarchy of property names, that indicates the member to sort by.

(Heredado de DataGridColumn)
TextBinding

Obtiene o establece el enlace del texto en la parte correspondiente al cuadro de texto del control ComboBox.Gets or sets the binding for the text in the text box portion of the ComboBox control.

TextBlockComboBoxStyleKey

Obtiene la clave de recurso correspondiente al estilo que se va a aplicar a un cuadro combinado de solo lectura.Gets the resource key for the style to apply to a read-only combo box.

Visibility

Obtiene o establece la visibilidad de la columna.Gets or sets the visibility of the column.

(Heredado de DataGridColumn)
Width

Obtiene o establece el ancho de columna o el modo de cambio de tamaño automático.Gets or sets the column width or automatic sizing mode.

(Heredado de DataGridColumn)

Métodos

CancelCellEdit(FrameworkElement, Object)

Hace que la celda de columna que se está editando se revierta al valor especificado.Causes the column cell being edited to revert to the specified value.

CancelCellEdit(FrameworkElement, Object)

Hace que la celda de columna que se está editando se revierta al valor original, sin editar.Causes the cell being edited to revert to the original, unedited value.

(Heredado de DataGridColumn)
CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Heredado de DispatcherObject)
ClearValue(DependencyProperty)

Borra el valor local de una propiedad.Clears the local value of a property. La propiedad que se va a borrar se especifica mediante un identificador DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

(Heredado de DependencyObject)
ClearValue(DependencyPropertyKey)

Borra el valor local de una propiedad de solo lectura.Clears the local value of a read-only property. La propiedad que se va a borrar se especifica mediante un DependencyPropertyKey.The property to be cleared is specified by a DependencyPropertyKey.

(Heredado de DependencyObject)
CoerceValue(DependencyProperty)

Convierte el valor de la propiedad de dependencia especificada.Coerces the value of the specified dependency property. Esto se logra invocando cualquier función CoerceValueCallback especificada en los metadatos de la propiedad de dependencia tal como existe en la clase DependencyObject que llama.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Heredado de DependencyObject)
CommitCellEdit(FrameworkElement)

Realiza todas las operaciones de validación necesarias antes de salir del modo de edición.Performs any required validation before exiting the editing mode.

CommitCellEdit(FrameworkElement)

Realiza todas las operaciones de validación necesarias antes de salir del modo de edición de celda.Performs any required validation before exiting cell editing mode.

(Heredado de DataGridColumn)
Equals(Object)

Determina si un objeto DependencyObject proporcionado es equivalente al objeto DependencyObject actual.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Heredado de DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Obtiene un control de cuadro combinado que está enlazado a los valores de las propiedades SelectedItemBinding, SelectedValueBinding y TextBinding de la columna.Gets a combo box control that is bound to the column's SelectedItemBinding, SelectedValueBinding, and TextBinding values.

GenerateElement(DataGridCell, Object)

Obtiene un control de cuadro combinado de solo lectura que está enlazado a los valores de las propiedades SelectedItemBinding, SelectedValueBinding y TextBinding de la columna.Gets a read-only combo box control that is bound to the column's SelectedItemBinding, SelectedValueBinding, and TextBinding values.

GetCellContent(DataGridRow)

Recupera el valor de la propiedad Content para la celda situada en la intersección de esta columna y la fila especificada.Retrieves the Content property value for the cell at the intersection of this column and the specified row.

(Heredado de DataGridColumn)
GetCellContent(Object)

Obtiene el valor de la propiedad Content para la celda situada en la intersección de esta columna y la fila que representa el elemento de datos especificado.Gets the Content property value for the cell at the intersection of this column and the row that represents the specified data item.

(Heredado de DataGridColumn)
GetHashCode()

Obtiene un código hash de este objeto DependencyObject.Gets a hash code for this DependencyObject.

(Heredado de DependencyObject)
GetLocalValueEnumerator()

Crea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Heredado de DependencyObject)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de un DependencyObject.Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Heredado de DependencyObject)
InvalidateProperty(DependencyProperty)

Vuelve a evaluar el valor efectivo para la propiedad de dependencia especificada.Re-evaluates the effective value for the specified dependency property.

(Heredado de DependencyObject)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
NotifyPropertyChanged(String)

Notifica al DataGrid que contiene esta columna que una propiedad de columna ha cambiado.Notifies the DataGrid that contains this column that a column property has changed.

(Heredado de DataGridColumn)
OnCoerceIsReadOnly(Boolean)

Determina el valor de la propiedad IsReadOnly basándose en las reglas de propiedad del control DataGrid que contiene esta columna.Determines the value of the IsReadOnly property based on property rules from the DataGrid that contains this column.

OnCopyingCellClipboardContent(Object)

Genera el evento CopyingCellClipboardContent.Raises the CopyingCellClipboardContent event.

(Heredado de DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

Genera el evento PastingCellClipboardContent.Raises the PastingCellClipboardContent event.

(Heredado de DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Se invoca cuando se actualiza el valor efectivo de alguna propiedad de dependencia en este DependencyObject.Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. La propiedad de dependencia específica que cambió se notifica en los datos de evento.The specific dependency property that changed is reported in the event data.

(Heredado de DependencyObject)
OnSelectedItemBindingChanged(BindingBase, BindingBase)

Notifica a DataGrid cuando cambia la propiedad SelectedItemBinding.Notifies the DataGrid when the SelectedItemBinding property changes.

OnSelectedValueBindingChanged(BindingBase, BindingBase)

Notifica a DataGrid cuando cambia la propiedad SelectedValueBinding.Notifies the DataGrid when the SelectedValueBinding property changes.

OnTextBindingChanged(BindingBase, BindingBase)

Notifica a DataGrid cuando cambia la propiedad TextBinding.Notifies the DataGrid when the TextBinding property changes.

PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Se llama a este método cuando una celda de la columna entra en modo de edición.Called when a cell in the column enters editing mode.

ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si existe.Returns the local value of a dependency property, if it exists.

(Heredado de DependencyObject)
RefreshCellContent(FrameworkElement, String)

Actualiza el contenido de una celda de la columna como respuesta a un cambio de enlace.Refreshes the contents of a cell in the column in response to a binding change.

SetCurrentValue(DependencyProperty, Object)

Establece el valor de una propiedad de dependencia sin cambiar el origen del valor.Sets the value of a dependency property without changing its value source.

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia.Sets the local value of a dependency property, specified by its dependency property identifier.

(Heredado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Establece el valor local de una propiedad de dependencia de solo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Heredado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia especificada.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Heredado de DependencyObject)
ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Heredado de DispatcherObject)

Eventos

CopyingCellClipboardContent

Se produce después de prepararse el contenido del Portapapeles de la celda.Occurs after the cell clipboard content is prepared.

(Heredado de DataGridColumn)
PastingCellClipboardContent

Se produce antes de que el contenido del Portapapeles se transfiera a la celda.Occurs before the clipboard content is moved to the cell.

(Heredado de DataGridColumn)

Se aplica a