DataGridComboBoxColumn Classe

Définition

Représente une colonne DataGrid qui héberge des contrôles ComboBox dans ses cellules.

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
Héritage

Exemples

L’exemple suivant montre comment remplir la liste déroulante pour chaque ComboBox colonne avec les valeurs d’une énumération. L’élément sélectionné dans la liste déroulante est lié en définissant la SelectedItemBinding propriété sur la propriété de l’objet affiché dans chaque ligne.

<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

Remarques

Permet DataGridComboBoxColumn d’afficher des données dans lesquelles il existe un ensemble d’éléments parmi lesquels choisir, comme une énumération. DataGridComboBoxColumn permet aux utilisateurs de sélectionner un élément dans une liste déroulante. L’illustration suivante montre un DataGridComboBoxColumn.

A DataGridComboBoxColumn

Pour remplir la liste déroulante, définissez d’abord la ItemsSource propriété pour le à l’aide de l’une ComboBox des options suivantes :

Une fois que est ItemsSource défini, liez l’élément sélectionné dans le ComboBox à l’élément de données de la ligne dans laquelle se trouve la cellule. Vous pouvez définir la liaison à l’aide de l’une des propriétés suivantes :

Propriété Description
TextBinding Définit le chemin de liaison du texte pour l’élément actuellement sélectionné.
SelectedItemBinding Définit le chemin de liaison de l’objet actuellement sélectionné.
SelectedValueBinding Définit le chemin de liaison sur la valeur de l’élément sélectionné spécifié par la SelectedValuePath propriété .

Lorsque la IsReadOnly propriété a la truevaleur , les utilisateurs ne peuvent pas modifier la colonne et ne peuvent pas voir la liste déroulante.

Si vous souhaitez afficher d’autres types de données, DataGrid fournit les types de colonnes suivants :

Type de colonne Affichage des données
DataGridHyperlinkColumn Utilisez pour afficher les données d’URI.
DataGridCheckBoxColumn Utilisez pour afficher les données booléennes.
DataGridTextColumn Utilisez pour afficher du texte.

Si vous souhaitez utiliser d’autres contrôles dans votre DataGrid, vous pouvez créer vos propres types de colonnes à l’aide DataGridTemplateColumnde .

Constructeurs

DataGridComboBoxColumn()

Initialise une nouvelle instance de la classe DataGridComboBoxColumn.

Champs

DisplayMemberPathProperty

Identifie la propriété de dépendance DisplayMemberPath.

EditingElementStyleProperty

Identifie la propriété de dépendance EditingElementStyle.

ElementStyleProperty

Identifie la propriété de dépendance ElementStyle.

ItemsSourceProperty

Identifie la propriété de dépendance ItemsSource.

SelectedValuePathProperty

Identifie la propriété de dépendance SelectedValuePath.

Propriétés

ActualWidth

Obtient la largeur actuelle de la colonne, en unités indépendantes de l’appareil (1/96e pouce par unité).

(Hérité de DataGridColumn)
CanUserReorder

Obtient ou définit une valeur qui indique si l'utilisateur peut modifier la position d'affichage des colonnes en faisant glisser leur en-tête.

(Hérité de DataGridColumn)
CanUserResize

Obtient ou définit une valeur qui indique si l'utilisateur peut ajuster la largeur de colonne à l'aide de la souris.

(Hérité de DataGridColumn)
CanUserSort

Obtient ou définit une valeur qui indique si l'utilisateur peut trier la colonne en cliquant sur son en-tête.

(Hérité de DataGridColumn)
CellStyle

Obtient ou définit le style qui est utilisé lors du rendu des cellules de la colonne.

(Hérité de DataGridColumn)
ClipboardContentBinding

Obtient ou définit l'objet de liaison à utiliser lors de l'obtention ou de la définition du contenu de cellule pour le Presse-papiers.

DataGridOwner

Obtient le contrôle DataGrid qui contient cette colonne.

(Hérité de DataGridColumn)
DefaultEditingElementStyle

Obtient la valeur par défaut de la propriété EditingElementStyle.

DefaultElementStyle

Obtient la valeur par défaut de la propriété ElementStyle.

DependencyObjectType

Obtient le DependencyObjectType qui encapsule le type CLR de ce instance.

(Hérité de DependencyObject)
Dispatcher

Obtient le Dispatcher associé à DispatcherObject.

(Hérité de DispatcherObject)
DisplayIndex

Obtient ou définit la position d'affichage de la colonne par rapport aux autres colonnes dans le DataGrid.

(Hérité de DataGridColumn)
DisplayMemberPath

Obtient ou définit le chemin d'accès à une valeur sur l'objet source pour fournir la représentation visuelle de l'objet.

DragIndicatorStyle

Obtient ou définit l'objet de style à appliquer à l'en-tête de colonne lors d'une opération glisser.

(Hérité de DataGridColumn)
EditingElementStyle

Obtient ou définit le style utilisé lors du rendu de l'élément que la colonne affiche pour une cellule en mode édition.

ElementStyle

Obtient ou définit le style utilisé lors du rendu de l'élément que la colonne affiche pour une cellule qui n'est pas en mode édition.

Header

Obtient ou définit le contenu de l'en-tête de la colonne.

(Hérité de DataGridColumn)
HeaderStringFormat

Obtient ou définit le modèle de format à appliquer au contenu de l'en-tête de colonne.

(Hérité de DataGridColumn)
HeaderStyle

Obtient ou définit le style utilisé lors du rendu de l'en-tête de colonne.

(Hérité de DataGridColumn)
HeaderTemplate

Obtient ou définit le modèle qui définit la représentation visuelle de l'en-tête de colonne.

(Hérité de DataGridColumn)
HeaderTemplateSelector

Obtient ou définit l'objet qui sélectionne le modèle utilisé pour l'en-tête de colonne.

(Hérité de DataGridColumn)
IsAutoGenerated

Obtient une valeur qui indique si la colonne est générée automatiquement.

(Hérité de DataGridColumn)
IsFrozen

Obtient une valeur qui indique si la colonne ne peut pas défiler horizontalement.

(Hérité de DataGridColumn)
IsReadOnly

Obtient ou définit une valeur qui indique si les cellules de la colonne peuvent être modifiées.

(Hérité de DataGridColumn)
IsSealed

Récupère une valeur qui indique si cette instance est actuellement sealed (en lecture seule).

(Hérité de DependencyObject)
ItemsSource

Obtient ou définit une collection qui est utilisée pour générer le contenu du contrôle zone de liste déroulante.

MaxWidth

Obtient ou définit la contrainte de largeur maximale applicable à la colonne.

(Hérité de DataGridColumn)
MinWidth

Obtient ou définit la contrainte de largeur minimale applicable à la colonne.

(Hérité de DataGridColumn)
SelectedItemBinding

Obtient ou définit la liaison pour l'objet actuellement sélectionné.

SelectedValueBinding

Obtient ou définit la valeur de l'élément sélectionné qui a été elle-même obtenue au moyen de la propriété SelectedValuePath.

SelectedValuePath

Obtient ou définit le chemin d'accès utilisé pour obtenir le SelectedValue à partir du SelectedItem.

SortDirection

Obtient ou définit le sens de tri (ascendant ou descendant) de la colonne.

(Hérité de DataGridColumn)
SortMemberPath

Obtient ou définit un nom de propriété, ou une hiérarchie des noms de propriétés délimitée par des points, qui indique le membre utilisé pour le tri.

(Hérité de DataGridColumn)
TextBinding

Obtient ou définit la liaison correspondant au texte de la partie zone de texte du contrôle ComboBox.

TextBlockComboBoxStyleKey

Obtient la clé de ressource du style à appliquer à une zone de liste déroulante en lecture seule.

Visibility

Obtient ou définit la visibilité de la colonne.

(Hérité de DataGridColumn)
Width

Obtient ou définit la largeur de la colonne ou le mode de dimensionnement automatique.

(Hérité de DataGridColumn)

Méthodes

CancelCellEdit(FrameworkElement, Object)

Fait en sorte que la cellule de colonne en cours de modification soit rétablie à la valeur spécifiée.

CancelCellEdit(FrameworkElement, Object)

Permet de rétablir la cellule en cours de modification à sa valeur initiale non modifiée.

(Hérité de DataGridColumn)
CheckAccess()

Détermine si le thread appelant a accès à ce DispatcherObject.

(Hérité de DispatcherObject)
ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété. La propriété à effacer est spécifiée par un identificateur DependencyProperty.

(Hérité de DependencyObject)
ClearValue(DependencyPropertyKey)

Efface la valeur locale d’une propriété en lecture seule. La propriété à effacer est spécifiée par DependencyPropertyKey.

(Hérité de DependencyObject)
CoerceValue(DependencyProperty)

Convertit la valeur de la propriété de dépendance spécifiée. Pour cela, on appelle toute fonction CoerceValueCallback spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur le DependencyObject appelant.

(Hérité de DependencyObject)
CommitCellEdit(FrameworkElement)

Exécute toute opération de validation requise avant de quitter le mode édition.

CommitCellEdit(FrameworkElement)

Exécute toute opération de validation requise avant de quitter le mode édition de la cellule.

(Hérité de DataGridColumn)
Equals(Object)

Détermine si un DependencyObject fourni est équivalent au DependencyObject réel.

(Hérité de DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Obtient un contrôle zone de liste déroulante qui est lié aux valeurs SelectedItemBinding, SelectedValueBinding et TextBinding de la colonne.

GenerateElement(DataGridCell, Object)

Obtient un contrôle zone de liste déroulante en lecture seule qui est lié aux valeurs SelectedItemBinding, SelectedValueBinding et TextBinding de la colonne.

GetCellContent(DataGridRow)

Récupère la valeur de propriété Content pour la cellule située à l'intersection de cette colonne et de la ligne spécifiée.

(Hérité de DataGridColumn)
GetCellContent(Object)

Obtient la valeur de la propriété Content pour la cellule à l'intersection de cette colonne et de la ligne qui représente l'élément de données spécifié.

(Hérité de DataGridColumn)
GetHashCode()

Obtient un code de hachage pour ce DependencyObject.

(Hérité de DependencyObject)
GetLocalValueEnumerator()

Crée un énumérateur spécialisé pour déterminer quelles propriétés de dépendance ont des valeurs définies localement sur ce DependencyObject.

(Hérité de DependencyObject)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance sur cette instance d’un DependencyObject.

(Hérité de DependencyObject)
InvalidateProperty(DependencyProperty)

Réévalue la valeur effective de la propriété de dépendance spécifiée.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
NotifyPropertyChanged(String)

Informe le DataGrid contenant cette colonne qu'une propriété de colonne a été modifiée.

(Hérité de DataGridColumn)
OnCoerceIsReadOnly(Boolean)

Détermine la valeur de la propriété IsReadOnly en fonction des règles de propriété du DataGrid que contient cette colonne.

OnCopyingCellClipboardContent(Object)

Déclenche l’événement CopyingCellClipboardContent.

(Hérité de DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

Déclenche l’événement PastingCellClipboardContent.

(Hérité de DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Méthode appelée chaque fois que la valeur effective d’une propriété de dépendance sur ce DependencyObject a été mise à jour. La propriété de dépendance spécifique qui a changé est signalée dans les données d’événement.

(Hérité de DependencyObject)
OnSelectedItemBindingChanged(BindingBase, BindingBase)

Informe le DataGrid lorsque la propriété SelectedItemBinding change.

OnSelectedValueBindingChanged(BindingBase, BindingBase)

Informe le DataGrid lorsque la propriété SelectedValueBinding change.

OnTextBindingChanged(BindingBase, BindingBase)

Informe le DataGrid lorsque la propriété TextBinding change.

PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Appelée lorsqu'une cellule de la colonne passe en mode édition.

ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si elle existe.

(Hérité de DependencyObject)
RefreshCellContent(FrameworkElement, String)

Actualise le contenu d'une cellule de la colonne en réponse à une modification de liaison.

SetCurrentValue(DependencyProperty, Object)

Définit la valeur d’une propriété de dépendance sans modifier sa valeur source.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance, spécifiée par son identificateur de propriété de dépendance.

(Hérité de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Définit la valeur locale d’une propriété de dépendance en lecture seule, spécifiée par l’identificateur DependencyPropertyKey de la propriété de dépendance.

(Hérité de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur de la propriété de dépendance fournie.

(Hérité de DependencyObject)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
VerifyAccess()

Garantit que le thread appelant a accès à DispatcherObject.

(Hérité de DispatcherObject)

Événements

CopyingCellClipboardContent

Se produit après la préparation du contenu du Presse-papiers de la cellule.

(Hérité de DataGridColumn)
PastingCellClipboardContent

Se produit avant le transfert du contenu du Presse-papiers dans la cellule.

(Hérité de DataGridColumn)

S’applique à