Partage via


DataGridComboBoxColumn Classe

Définition

Représente une DataGrid colonne qui héberge les ComboBox contrôles 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 à 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.

Un DataGridComboBoxColumn

Pour remplir la liste déroulante, commencez par définir la ItemsSource propriété pour l’une ComboBox des options suivantes :

Une fois le ItemsSource jeu défini, liez l’élément sélectionné dans l’élément ComboBox 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 de 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é est définie truesur , les utilisateurs ne peuvent pas modifier la colonne et ils ne pourront pas voir la liste déroulante.

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

Type de colonne Affichage des données
DataGridHyperlinkColumn Permet d’afficher les données d’URI.
DataGridCheckBoxColumn Permet d’afficher les données booléennes.
DataGridTextColumn Permet d’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

Nom Description
DataGridComboBoxColumn()

Initialise une nouvelle instance de la classe DataGridComboBoxColumn.

Champs

Nom Description
DisplayMemberPathProperty

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

EditingElementStyleProperty

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

ElementStyleProperty

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

ItemsSourceProperty

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

SelectedValuePathProperty

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

Propriétés

Nom Description
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 de la colonne en faisant glisser l’en-tête de colonne.

(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 l’en-tête de colonne.

(Hérité de DataGridColumn)
CellStyle

Obtient ou définit le style utilisé pour afficher les 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 DataGrid contrôle qui contient cette colonne.

(Hérité de DataGridColumn)
DefaultEditingElementStyle

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

DefaultElementStyle

Obtient la valeur par défaut du ElementStyle.

DependencyObjectType

Obtient le DependencyObjectType type CLR de cette instance.

(Hérité de DependencyObject)
Dispatcher

Obtient ce Dispatcher qui DispatcherObject est associé.

(Hérité de DispatcherObject)
DisplayIndex

Obtient ou définit la position d’affichage de la colonne par rapport aux autres colonnes du DataGrid.

(Hérité de DataGridColumn)
DisplayMemberPath

Obtient ou définit un 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 pendant une opération de glissement.

(Hérité de DataGridColumn)
EditingElementStyle

Obtient ou définit le style utilisé lors du rendu de l’élément affiché par la colonne pour une cellule en mode édition.

ElementStyle

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

Header

Obtient ou définit le contenu de l’en-tête de 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 à utiliser 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 est empêchée de faire 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

Obtient une valeur qui indique si cette instance est actuellement scellée (en lecture seule).

(Hérité de DependencyObject)
ItemsSource

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

MaxWidth

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

(Hérité de DataGridColumn)
MinWidth

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

(Hérité de DataGridColumn)
SelectedItemBinding

Obtient ou définit la liaison de l’élément actuellement sélectionné.

SelectedValueBinding

Obtient ou définit la valeur de l’élément sélectionné, obtenue à l’aide SelectedValuePathde .

SelectedValuePath

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

SortDirection

Obtient ou définit la direction de tri (croissant ou décroissant) de la colonne.

(Hérité de DataGridColumn)
SortMemberPath

Obtient ou définit un nom de propriété ou une hiérarchie délimitée par un point des noms de propriétés, qui indique le membre à trier par.

(Hérité de DataGridColumn)
TextBinding

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

TextBlockComboBoxStyleKey

Obtient la clé de ressource pour le 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 colonne ou le mode de dimensionnement automatique.

(Hérité de DataGridColumn)

Méthodes

Nom Description
CancelCellEdit(FrameworkElement, Object)

Provoque la modification de la cellule de colonne à la valeur spécifiée.

CancelCellEdit(FrameworkElement, Object)

Provoque la modification de la cellule pour rétablir la valeur d’origine non modifiée.

(Hérité de DataGridColumn)
CheckAccess()

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

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

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

(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 un DependencyPropertyKey.

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

Force la valeur de la propriété de dépendance spécifiée. Pour ce faire, appelez n’importe quelle CoerceValueCallback fonction spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur l’appel DependencyObject.

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

Effectue toute validation requise avant de quitter le mode d’édition.

CommitCellEdit(FrameworkElement)

Effectue toute validation requise avant de quitter le mode d’édition de cellule.

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

Détermine si un élément fourni DependencyObject est équivalent à l’actuel DependencyObject.

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

Obtient un contrôle de zone de liste modifiable lié aux valeurs et TextBinding aux valeurs de SelectedItemBindingSelectedValueBindingla colonne.

GenerateElement(DataGridCell, Object)

Obtient un contrôle de zone de liste modifiable en lecture seule lié aux valeurs et TextBinding aux valeurs de SelectedItemBindingSelectedValueBindingla colonne.

GetCellContent(DataGridRow)

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

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

Obtient la Content valeur de propriété de 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 la 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)

Évalue à nouveau la valeur effective de la propriété de dépendance spécifiée.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

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

Avertit que DataGrid cette colonne contient qu’une propriété de colonne a changé.

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

Détermine la valeur de la IsReadOnly propriété en fonction des règles de propriété de la DataGrid colonne qui 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)

Appelé chaque fois que la valeur effective d’une propriété de dépendance sur celle-ci 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)

Avertit le DataGrid moment où la SelectedItemBinding propriété change.

OnSelectedValueBindingChanged(BindingBase, BindingBase)

Avertit le DataGrid moment où la SelectedValueBinding propriété change.

OnTextBindingChanged(BindingBase, BindingBase)

Avertit le DataGrid moment où la TextBinding propriété change.

PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Appelé lorsqu’une cellule de la colonne entre en mode édition.

ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, le cas échéant.

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

Actualise le contenu d’une cellule dans 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 source de valeur.

(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()

Applique que le thread appelant a accès à ce DispatcherObjectfichier .

(Hérité de DispatcherObject)

Événements

Nom Description
CopyingCellClipboardContent

Se produit une fois le contenu du Presse-papiers de cellule préparé.

(Hérité de DataGridColumn)
PastingCellClipboardContent

Se produit avant le déplacement du contenu du Presse-papiers vers la cellule.

(Hérité de DataGridColumn)

S’applique à