DataGridComboBoxColumn Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 una ComboBox de las columnas con los valores de una enumeración. El elemento seleccionado de la lista desplegable está enlazado estableciendo la SelectedItemBinding propiedad en la propiedad del objeto mostrado en cada fila.
<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 datos en los que hay un conjunto de elementos entre los que elegir, como una enumeración. DataGridComboBoxColumn permite a los usuarios seleccionar un elemento en una lista desplegable. En la siguiente ilustración se muestra un control DataGridComboBoxColumn.
Para rellenar la lista desplegable, establezca primero la ItemsSource propiedad para mediante ComboBox una de las siguientes opciones:
Un recurso estático. Para obtener más información, vea StaticResource Markup Extension( Extensión de marcado staticResource).
Una entidad de código x:Static. Para obtener más información, consulta x:Static Markup Extension.
Colección insertada de ComboBoxItem tipos.
Una vez establecido , ItemsSource enlace el elemento seleccionado en ComboBox al elemento de datos de la fila en la que se encuentra la celda. Puede establecer el enlace mediante una de las siguientes propiedades:
Propiedad | Descripción |
---|---|
TextBinding | Establece la ruta de acceso de enlace del texto para el elemento seleccionado actualmente. |
SelectedItemBinding | Establece la ruta de acceso de enlace del objeto seleccionado actualmente. |
SelectedValueBinding | Establece la ruta de acceso de enlace al valor del elemento seleccionado especificado por la SelectedValuePath propiedad . |
Cuando la IsReadOnly propiedad está establecida true
en , los usuarios no pueden editar la columna y no podrán ver la lista desplegable.
Si desea mostrar otros tipos de datos, DataGrid proporciona los siguientes tipos de columna:
Tipo de columna | Presentación de datos |
---|---|
DataGridHyperlinkColumn | Use para mostrar datos de URI. |
DataGridCheckBoxColumn | Use para mostrar datos booleanos. |
DataGridTextColumn | Use para mostrar texto. |
Si desea usar otros controles en DataGrid, puede crear sus propios tipos de columna mediante DataGridTemplateColumn.
Constructores
DataGridComboBoxColumn() |
Inicializa una nueva instancia de la clase DataGridComboBoxColumn. |
Campos
DisplayMemberPathProperty |
Identifica la propiedad de dependencia DisplayMemberPath. |
EditingElementStyleProperty |
Identifica la propiedad de dependencia EditingElementStyle. |
ElementStyleProperty |
Identifica la propiedad de dependencia ElementStyle. |
ItemsSourceProperty |
Identifica la propiedad de dependencia ItemsSource. |
SelectedValuePathProperty |
Identifica la propiedad de dependencia SelectedValuePath. |
Propiedades
ActualWidth |
Obtiene el ancho actual de la columna, en unidades independientes del dispositivo (1/96 pulgadas por unidad). (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. (Heredado de DataGridColumn) |
CanUserResize |
Obtiene o establece un valor que indica si el usuario puede ajustar el ancho de columna mediante el 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. (Heredado de DataGridColumn) |
CellStyle |
Obtiene o establece el estilo que se utiliza para representar celdas en la columna. (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. |
DataGridOwner |
Obtiene el control DataGrid que contiene esta columna. (Heredado de DataGridColumn) |
DefaultEditingElementStyle |
Obtiene el valor predeterminado de la propiedad EditingElementStyle. |
DefaultElementStyle |
Obtiene el valor predeterminado de la propiedad ElementStyle. |
DependencyObjectType |
Obtiene el DependencyObjectType objeto que encapsula el tipo CLR de esta instancia. (Heredado de DependencyObject) |
Dispatcher |
Obtiene el objeto Dispatcher al que está asociado DispatcherObject. (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. (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. |
DragIndicatorStyle |
Obtiene o establece el objeto de estilo que se va a aplicar al encabezado de columna durante una operación de arrastre. (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. |
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. |
Header |
Obtiene o establece el contenido del encabezado de columna. (Heredado de DataGridColumn) |
HeaderStringFormat |
Obtiene o establece el modelo de formato que se aplica al contenido del encabezado de columna. (Heredado de DataGridColumn) |
HeaderStyle |
Obtiene o establece el estilo que se usa al representar el encabezado de columna. (Heredado de DataGridColumn) |
HeaderTemplate |
Obtiene o establece la plantilla que define la representación visual del encabezado de columna. (Heredado de DataGridColumn) |
HeaderTemplateSelector |
Obtiene o establece el objeto que selecciona la plantilla que se va a usar para el encabezado de columna. (Heredado de DataGridColumn) |
IsAutoGenerated |
Obtiene un valor que indica si la columna se genera automáticamente. (Heredado de DataGridColumn) |
IsFrozen |
Obtiene un valor que indica si la columna no se puede desplazar horizontalmente. (Heredado de DataGridColumn) |
IsReadOnly |
Obtiene o establece un valor que indica si se pueden editar las celdas de la columna. (Heredado de DataGridColumn) |
IsSealed |
Obtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura). (Heredado de DependencyObject) |
ItemsSource |
Obtiene o establece una colección que se utiliza para generar el contenido del control de cuadro combinado. |
MaxWidth |
Obtiene o establece la restricción de ancho máximo de la columna. (Heredado de DataGridColumn) |
MinWidth |
Obtiene o establece la restricción de ancho mínimo de la columna. (Heredado de DataGridColumn) |
SelectedItemBinding |
Obtiene o establece el enlace del elemento seleccionado actualmente. |
SelectedValueBinding |
Obtiene o establece el valor del elemento seleccionado que se ha obtenido mediante SelectedValuePath. |
SelectedValuePath |
Obtiene o establece la ruta de acceso que se utiliza para obtener la propiedad SelectedValue de la propiedad SelectedItem. |
SortDirection |
Obtiene o establece la dirección de ordenación (ascendente o descendente) de la columna. (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. (Heredado de DataGridColumn) |
TextBinding |
Obtiene o establece el enlace del texto en la parte correspondiente al cuadro de texto del control ComboBox. |
TextBlockComboBoxStyleKey |
Obtiene la clave de recurso correspondiente al estilo que se va a aplicar a un cuadro combinado de solo lectura. |
Visibility |
Obtiene o establece la visibilidad de la columna. (Heredado de DataGridColumn) |
Width |
Obtiene o establece el ancho de columna o el modo de cambio de tamaño automático. (Heredado de DataGridColumn) |
Métodos
CancelCellEdit(FrameworkElement, Object) |
Hace que la celda de columna que se está editando se revierta al valor especificado. |
CancelCellEdit(FrameworkElement, Object) |
Hace que la celda de columna que se está editando se revierta al valor original, sin editar. (Heredado de DataGridColumn) |
CheckAccess() |
Determina si el subproceso de la llamada tiene acceso a DispatcherObject. (Heredado de DispatcherObject) |
ClearValue(DependencyProperty) |
Borra el valor local de una propiedad. La propiedad que se va a borrar se especifica mediante un identificador DependencyProperty. (Heredado de DependencyObject) |
ClearValue(DependencyPropertyKey) |
Borra el valor local de una propiedad de solo lectura. La propiedad que se va a borrar se especifica mediante un DependencyPropertyKey. (Heredado de DependencyObject) |
CoerceValue(DependencyProperty) |
Convierte el valor de la propiedad de dependencia especificada. 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. (Heredado de DependencyObject) |
CommitCellEdit(FrameworkElement) |
Realiza todas las operaciones de validación necesarias antes de salir del modo de edición. |
CommitCellEdit(FrameworkElement) |
Realiza todas las operaciones de validación necesarias antes de salir del modo de edición de celda. (Heredado de DataGridColumn) |
Equals(Object) |
Determina si un objeto DependencyObject proporcionado es equivalente al objeto DependencyObject actual. (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. |
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. |
GetCellContent(DataGridRow) |
Recupera el valor de la propiedad Content para la celda situada en la intersección de esta columna y la fila especificada. (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. (Heredado de DataGridColumn) |
GetHashCode() |
Obtiene un código hash de este objeto DependencyObject. (Heredado de DependencyObject) |
GetLocalValueEnumerator() |
Crea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject. (Heredado de DependencyObject) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
GetValue(DependencyProperty) |
Devuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de un DependencyObject. (Heredado de DependencyObject) |
InvalidateProperty(DependencyProperty) |
Vuelve a evaluar el valor efectivo para la propiedad de dependencia especificada. (Heredado de DependencyObject) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
NotifyPropertyChanged(String) |
Notifica al DataGrid que contiene esta columna que una propiedad de columna ha cambiado. (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. |
OnCopyingCellClipboardContent(Object) |
Genera el evento CopyingCellClipboardContent. (Heredado de DataGridColumn) |
OnPastingCellClipboardContent(Object, Object) |
Genera el evento PastingCellClipboardContent. (Heredado de DataGridColumn) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Se invoca cuando se actualiza el valor efectivo de alguna propiedad de dependencia en este DependencyObject. La propiedad de dependencia específica que cambió se notifica en los datos de evento. (Heredado de DependencyObject) |
OnSelectedItemBindingChanged(BindingBase, BindingBase) |
Notifica a DataGrid cuando cambia la propiedad SelectedItemBinding. |
OnSelectedValueBindingChanged(BindingBase, BindingBase) |
Notifica a DataGrid cuando cambia la propiedad SelectedValueBinding. |
OnTextBindingChanged(BindingBase, BindingBase) |
Notifica a DataGrid cuando cambia la propiedad TextBinding. |
PrepareCellForEdit(FrameworkElement, RoutedEventArgs) |
Se llama a este método cuando una celda de la columna entra en modo de edición. |
ReadLocalValue(DependencyProperty) |
Devuelve el valor local de una propiedad de dependencia, si existe. (Heredado de DependencyObject) |
RefreshCellContent(FrameworkElement, String) |
Actualiza el contenido de una celda de la columna como respuesta a un cambio de enlace. |
SetCurrentValue(DependencyProperty, Object) |
Establece el valor de una propiedad de dependencia sin cambiar el origen del valor. (Heredado de DependencyObject) |
SetValue(DependencyProperty, Object) |
Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia. (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. (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. (Heredado de DependencyObject) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
VerifyAccess() |
Exige que el subproceso de la llamada tenga acceso a DispatcherObject. (Heredado de DispatcherObject) |
Eventos
CopyingCellClipboardContent |
Se produce después de prepararse el contenido del Portapapeles de la celda. (Heredado de DataGridColumn) |
PastingCellClipboardContent |
Se produce antes de que el contenido del Portapapeles se transfiera a la celda. (Heredado de DataGridColumn) |