Freigeben über


DataGridComboBoxColumn Klasse

Definition

Stellt eine DataGrid-Spalte dar, in deren Zellen ComboBox-Steuerelemente gehostet werden.

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
Vererbung

Beispiele

Das folgende Beispiel zeigt, wie die Dropdownliste für jede ComboBox in der Spalte mit den Werten einer Enumeration aufgefüllt wird. Das ausgewählte Element in der Dropdownliste wird gebunden, indem die SelectedItemBinding -Eigenschaft auf die -Eigenschaft des Objekts festgelegt wird, das in jeder Zeile angezeigt wird.

<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

Hinweise

Verwenden Sie DataGridComboBoxColumn , um Daten anzuzeigen, bei denen eine Reihe von Elementen zur Auswahl stehen, z. B. eine Enumeration. DataGridComboBoxColumn ermöglicht Benutzern, ein Element aus einer Dropdownliste auszuwählen. Die folgende Abbildung zeigt ein DataGridComboBoxColumn-Steuerelement.

A DataGridComboBoxColumn

Um die Dropdownliste aufzufüllen, legen Sie zunächst die ItemsSource -Eigenschaft für die ComboBox fest, indem Sie eine der folgenden Optionen verwenden:

Nachdem festgelegt ItemsSource wurde, binden Sie das ausgewählte Element im ComboBox an das Datenelement für die Zeile, in der sich die Zelle befindet. Sie können die Bindung mithilfe einer der folgenden Eigenschaften festlegen:

Eigenschaft BESCHREIBUNG
TextBinding Legt den Bindungspfad des Texts für das aktuell ausgewählte Element fest.
SelectedItemBinding Legt den Bindungspfad des objekts fest, das derzeit ausgewählt ist.
SelectedValueBinding Legt den Bindungspfad auf den Wert des ausgewählten Elements fest, das von der SelectedValuePath -Eigenschaft angegeben wird.

Wenn die IsReadOnly -Eigenschaft auf truefestgelegt ist, können Benutzer die Spalte nicht bearbeiten, und sie können die Dropdownliste nicht anzeigen.

Wenn Sie andere Datentypen anzeigen möchten, DataGrid stellt die folgenden Spaltentypen bereit:

Spaltentyp Datenanzeige
DataGridHyperlinkColumn Verwenden Sie zum Anzeigen von URI-Daten.
DataGridCheckBoxColumn Verwenden Sie , um boolesche Daten anzuzeigen.
DataGridTextColumn Verwenden Sie zum Anzeigen von Text.

Wenn Sie andere Steuerelemente in verwenden DataGridmöchten, können Sie mithilfe von DataGridTemplateColumneigene Spaltentypen erstellen.

Konstruktoren

DataGridComboBoxColumn()

Initialisiert eine neue Instanz der DataGridComboBoxColumn-Klasse.

Felder

DisplayMemberPathProperty

Bezeichnet die DisplayMemberPath-Abhängigkeitseigenschaft.

EditingElementStyleProperty

Bezeichnet die EditingElementStyle-Abhängigkeitseigenschaft.

ElementStyleProperty

Bezeichnet die ElementStyle-Abhängigkeitseigenschaft.

ItemsSourceProperty

Bezeichnet die ItemsSource-Abhängigkeitseigenschaft.

SelectedValuePathProperty

Bezeichnet die SelectedValuePath-Abhängigkeitseigenschaft.

Eigenschaften

ActualWidth

Ruft die aktuelle Breite der Spalte in geräteunabhängigen Einheiten (1/96 Zoll pro Einheit) ab.

(Geerbt von DataGridColumn)
CanUserReorder

Ruft einen Wert ab bzw. legt einen Wert fest, der angibt, oder der Benutzer die Anzeigeposition von Spalten durch Ziehen der Spaltenüberschrift ändern kann.

(Geerbt von DataGridColumn)
CanUserResize

Ruft einen Wert ab, der angibt, ob der Benutzer die Spaltenbreiten mithilfe der Maus anpassen kann, oder legt diesen fest.

(Geerbt von DataGridColumn)
CanUserSort

Ruft einen Wert ab bzw. legt einen Wert fest, der angibt, ob der Benutzer die Spalte durch Klicken auf die Spaltenüberschrift sortieren kann.

(Geerbt von DataGridColumn)
CellStyle

Ruft die Formatvorlage ab, die zum Rendern von Zellen in der Spalte verwendet wird, oder legt sie fest.

(Geerbt von DataGridColumn)
ClipboardContentBinding

Ruft das Bindungsobjekt ab, das beim Abrufen oder Festlegen von Zelleninhalt für die Zwischenablage verwendet werden soll, oder legt dieses fest.

DataGridOwner

Ruft das DataGrid-Steuerelement ab, das diese Spalte enthält.

(Geerbt von DataGridColumn)
DefaultEditingElementStyle

Ruft den Standardwert der EditingElementStyle-Eigenschaft ab.

DefaultElementStyle

Ruft den Standardwert der ElementStyle-Eigenschaft ab.

DependencyObjectType

Ruft den ab, der DependencyObjectType den CLR-Typ dieses instance umschließt.

(Geerbt von DependencyObject)
Dispatcher

Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist.

(Geerbt von DispatcherObject)
DisplayIndex

Ruft die Anzeigeposition der Spalte relativ zu den anderen Spalten im DataGrid ab oder legt diese fest.

(Geerbt von DataGridColumn)
DisplayMemberPath

Ruft den Pfad zu einem Wert für das Quellobjekt ab, um die optische Darstellung des Objekts bereitzustellen, oder legt diesen fest.

DragIndicatorStyle

Ruft das Formatobjekt ab, das bei einem Ziehvorgang für den Spaltenheader übernommen werden soll, oder legt es fest.

(Geerbt von DataGridColumn)
EditingElementStyle

Ruft den Stil zum Rendern des Elements ab, das in der Spalte für eine Zelle im Bearbeitungsmodus angezeigt wird, oder legt diesen fest.

ElementStyle

Ruft den Stil zum Rendern des Elements ab, das in der Spalte für eine Zelle angezeigt wird, die sich nicht im Bearbeitungsmodus befindet, oder legt diesen fest.

Header

Ruft den Inhalt der Spaltenüberschrift ab bzw. legt diesen fest.

(Geerbt von DataGridColumn)
HeaderStringFormat

Ruft das Formatmuster ab, das auf den Inhalt des Spaltenheaders angewendet werden soll, oder legt dieses fest.

(Geerbt von DataGridColumn)
HeaderStyle

Ruft den Stil ab, der beim Rendern des Spaltenheaders verwendet wird, oder legt diesen fest.

(Geerbt von DataGridColumn)
HeaderTemplate

Ruft die Vorlage ab, die die optische Darstellung des Spaltenheaders festlegt, oder legt diese fest.

(Geerbt von DataGridColumn)
HeaderTemplateSelector

Ruft das Objekt ab, das die für den Spaltenheader zu verwendende Vorlage festlegt, oder legt dieses fest.

(Geerbt von DataGridColumn)
IsAutoGenerated

Ruft einen Wert ab, der angibt, ob die Spalte automatisch generiert wird.

(Geerbt von DataGridColumn)
IsFrozen

Ruft einen Wert ab, der angibt, ob horizontale Bildläufe in der Spalte verhindert werden.

(Geerbt von DataGridColumn)
IsReadOnly

Ruft einen Wert ab bzw. legt einen Wert fest, der angibt, ob Zellen in der Spalte bearbeitet werden können.

(Geerbt von DataGridColumn)
IsSealed

Ruft einen Wert ab, der angibt, ob diese Instanz derzeit versiegelt (schreibgeschützt) ist.

(Geerbt von DependencyObject)
ItemsSource

Ruft eine Auflistung ab, mit der der Inhalt des Kombinationsfeld-Steuerelements generiert wird, oder legt diese fest.

MaxWidth

Ruft die Einschränkung für die maximale Breite der Spalte ab oder legt diese fest.

(Geerbt von DataGridColumn)
MinWidth

Ruft die Einschränkung für die Mindestbreite der Spalte ab oder legt diese fest.

(Geerbt von DataGridColumn)
SelectedItemBinding

Ruft die Bindung für das aktuell ausgewählte Element ab, oder legt diese fest.

SelectedValueBinding

Ruft den Wert des ausgewählten Elements ab, das mithilfe von SelectedValuePath abgerufen wird, oder legt den Wert fest.

SelectedValuePath

Ruft den Pfad ab, mit dem der SelectedValue aus SelectedItem abgerufen wird, oder legt diesen Pfad fest.

SortDirection

Ruft die Sortierrichtung (auf- oder absteigend) der Spalte ab, oder legt diese fest.

(Geerbt von DataGridColumn)
SortMemberPath

Ruft einen Eigenschaftennamen oder eine durch Punkte getrennte Hierarchie von Eigenschaftennamen ab, die das zu sortierende Element angibt, bzw. legt diese/n fest.

(Geerbt von DataGridColumn)
TextBinding

Ruft die Bindung für den Text im Textfeldteil des ComboBox-Steuerelements ab oder legt sie fest.

TextBlockComboBoxStyleKey

Ruft den Ressourcenschlüssel für die Formatvorlage ab, die für ein schreibgeschütztes Kombinationsfeld übernommen werden soll.

Visibility

Ruft die Sichtbarkeit der Spalte ab bzw. legt diese fest.

(Geerbt von DataGridColumn)
Width

Ruft die Spaltenbreite oder den Modus zum automatischen Festlegen der Größe ab bzw. legt diese/n fest.

(Geerbt von DataGridColumn)

Methoden

CancelCellEdit(FrameworkElement, Object)

Führt dazu, dass die zu bearbeitende Spaltenzelle auf den angegebenen Wert zurückgesetzt wird.

CancelCellEdit(FrameworkElement, Object)

Führt dazu, dass die zu bearbeitende Zelle auf den originalen, unbearbeiteten Wert zurückgesetzt wird.

(Geerbt von DataGridColumn)
CheckAccess()

Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)
ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Eigenschaft. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyProperty-Bezeichner angegeben.

(Geerbt von DependencyObject)
ClearValue(DependencyPropertyKey)

Löscht den lokalen Wert einer schreibgeschützten Eigenschaft. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyPropertyKey angegeben.

(Geerbt von DependencyObject)
CoerceValue(DependencyProperty)

Erzwingt den Wert der angegebenen Abhängigkeitseigenschaft. Dies erfolgt durch den Aufruf einer beliebigen CoerceValueCallback-Funktion, die in den Metadaten für die Abhängigkeitseigenschaft angegeben ist, während sie beim aufrufenden DependencyObject beendet wird.

(Geerbt von DependencyObject)
CommitCellEdit(FrameworkElement)

Führt jede erforderliche Validierung vor dem Beenden des Bearbeitungsmodus aus.

CommitCellEdit(FrameworkElement)

Führt jede erforderliche Validierung vor dem Beenden des Zellbearbeitungsmodus aus.

(Geerbt von DataGridColumn)
Equals(Object)

Bestimmt, ob ein angegebenes DependencyObject dem aktuellen DependencyObject entspricht.

(Geerbt von DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Ruft ein Kombinationsfeld-Steuerelement ab, das an die folgenden Werte der Spalte gebunden wird: SelectedItemBinding, SelectedValueBinding und TextBinding.

GenerateElement(DataGridCell, Object)

Ruft ein schreibgeschütztes Kombinationsfeld-Steuerelement ab, das an die folgenden Werte der Spalte gebunden wird: SelectedItemBinding, SelectedValueBinding und TextBinding.

GetCellContent(DataGridRow)

Ruft den Content-Eigenschaftswert der Zelle an der Schnittstelle dieser Spalte und der angegebenen Zeile ab.

(Geerbt von DataGridColumn)
GetCellContent(Object)

Ruft den Content-Eigenschaftswert der Zelle an der Schnittstelle dieser Spalte und der Zeile ab, die das angegebene Datenelement darstellt.

(Geerbt von DataGridColumn)
GetHashCode()

Ruft einen Hashcode für diese DependencyObject ab.

(Geerbt von DependencyObject)
GetLocalValueEnumerator()

Erstellt einen spezialisierten Enumerator, mit dem bestimmt wird, welche Abhängigkeitseigenschaften dieses DependencyObject über lokal festgelegte Werte verfügen.

(Geerbt von DependencyObject)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft für diese Instanz eines DependencyObject zurück.

(Geerbt von DependencyObject)
InvalidateProperty(DependencyProperty)

Wertet den effektiven Wert für die angegebene Abhängigkeitseigenschaft erneut aus.

(Geerbt von DependencyObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
NotifyPropertyChanged(String)

Benachrichtigt DataGrid, das diese Spalte enthält, dass sich eine Spalteneigenschaft geändert hat.

(Geerbt von DataGridColumn)
OnCoerceIsReadOnly(Boolean)

Bestimmt den Wert der IsReadOnly-Eigenschaft auf der Grundlage von Eigenschaftsregeln für das DataGrid, das diese Spalte enthält.

OnCopyingCellClipboardContent(Object)

Löst das CopyingCellClipboardContent-Ereignis aus.

(Geerbt von DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

Löst das PastingCellClipboardContent-Ereignis aus.

(Geerbt von DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Wird immer dann aufgerufen, wenn der effektive Wert einer Abhängigkeitseigenschaft für dieses DependencyObject aktualisiert wurde. Welche spezifische Abhängigkeitseigenschaft geändert wird, wird in den Ereignisdaten gemeldet.

(Geerbt von DependencyObject)
OnSelectedItemBindingChanged(BindingBase, BindingBase)

Benachrichtigt DataGrid, wenn sich die SelectedItemBinding-Eigenschaft ändert.

OnSelectedValueBindingChanged(BindingBase, BindingBase)

Benachrichtigt DataGrid, wenn sich die SelectedValueBinding-Eigenschaft ändert.

OnTextBindingChanged(BindingBase, BindingBase)

Benachrichtigt DataGrid, wenn sich die TextBinding-Eigenschaft ändert.

PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Wird aufgerufen, wenn eine Zelle in der Spalte in den Bearbeitungsmodus wechselt.

ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn dieser vorhanden ist.

(Geerbt von DependencyObject)
RefreshCellContent(FrameworkElement, String)

Aktualisiert den Inhalt einer Zelle in der Spalte als Reaktion auf eine Bindungsänderung.

SetCurrentValue(DependencyProperty, Object)

Legt den Wert einer Abhängigkeitseigenschaft fest, ohne deren Wertquelle zu ändern.

(Geerbt von DependencyObject)
SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die durch ihren Bezeichner angegeben ist.

(Geerbt von DependencyObject)
SetValue(DependencyPropertyKey, Object)

Legt den lokalen Wert einer schreibgeschützten Abhängigkeitseigenschaft fest, die durch den DependencyPropertyKey-Bezeichner der Abhängigkeitseigenschaft angegeben ist.

(Geerbt von DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Gibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert der bereitgestellten Abhängigkeitseigenschaft serialisieren sollen.

(Geerbt von DependencyObject)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
VerifyAccess()

Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)

Ereignisse

CopyingCellClipboardContent

Tritt auf, nachdem der Inhalt der Zellenzwischenablage vorbereitet wurde.

(Geerbt von DataGridColumn)
PastingCellClipboardContent

Tritt auf, bevor der Zwischenablageinhalt in die Zelle verschoben wird.

(Geerbt von DataGridColumn)

Gilt für: