DataGridComboBoxColumn Klasa

Definicja

Reprezentuje kolumnę DataGrid , która hostuje ComboBox kontrolki w komórkach.

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
Dziedziczenie

Przykłady

W poniższym przykładzie pokazano, jak wypełnić listę rozwijaną dla każdej ComboBox z nich w kolumnie wartościami wyliczenia. Wybrany element na liście rozwijanej jest powiązany przez ustawienie SelectedItemBinding właściwości na właściwość obiektu wyświetlanego w każdym wierszu.

<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

Uwagi

Służy DataGridComboBoxColumn do wyświetlania danych, w których istnieje zestaw elementów do wyboru, takich jak wyliczenie. DataGridComboBoxColumn umożliwia użytkownikom wybranie elementu z listy rozwijanej. Poniższa ilustracja przedstawia element DataGridComboBoxColumn.

A DataGridComboBoxColumn

Aby wypełnić listę rozwijaną, najpierw ustaw ItemsSource właściwość właściwości ComboBox przy użyciu jednej z następujących opcji:

Po ustawieniu ItemsSource powiąż wybrany element w ComboBox elemencie danych dla wiersza, w którego znajduje się komórka. Powiązanie można ustawić przy użyciu jednej z następujących właściwości:

Właściwość Opis
TextBinding Ustawia ścieżkę powiązania tekstu dla aktualnie wybranego elementu.
SelectedItemBinding Ustawia ścieżkę powiązania aktualnie wybranego obiektu.
SelectedValueBinding Ustawia ścieżkę powiązania na wartość wybranego elementu określonego SelectedValuePath przez właściwość.

IsReadOnly Gdy właściwość jest ustawiona na true, użytkownicy nie mogą edytować kolumny i nie będą mogli zobaczyć listy rozwijanej.

Jeśli chcesz wyświetlić inne typy danych, DataGrid udostępnia następujące typy kolumn:

Typ kolumny Wyświetlanie danych
DataGridHyperlinkColumn Służy do wyświetlania danych identyfikatora URI.
DataGridCheckBoxColumn Służy do wyświetlania danych logicznych.
DataGridTextColumn Służy do wyświetlania tekstu.

Jeśli chcesz użyć innych kontrolek w programie DataGrid, możesz utworzyć własne typy kolumn przy użyciu polecenia DataGridTemplateColumn.

Konstruktory

DataGridComboBoxColumn()

Inicjuje nowe wystąpienie klasy DataGridComboBoxColumn.

Pola

DisplayMemberPathProperty

DisplayMemberPath Identyfikuje właściwość zależności.

EditingElementStyleProperty

EditingElementStyle Identyfikuje właściwość zależności.

ElementStyleProperty

ElementStyle Identyfikuje właściwość zależności.

ItemsSourceProperty

ItemsSource Identyfikuje właściwość zależności.

SelectedValuePathProperty

SelectedValuePath Identyfikuje właściwość zależności.

Właściwości

ActualWidth

Pobiera bieżącą szerokość kolumny w jednostkach niezależnych od urządzenia (1/96 cala na jednostkę).

(Odziedziczone po DataGridColumn)
CanUserReorder

Pobiera lub ustawia wartość wskazującą, czy użytkownik może zmienić położenie wyświetlania kolumny, przeciągając nagłówek kolumny.

(Odziedziczone po DataGridColumn)
CanUserResize

Pobiera lub ustawia wartość wskazującą, czy użytkownik może dostosować szerokość kolumny przy użyciu myszy.

(Odziedziczone po DataGridColumn)
CanUserSort

Pobiera lub ustawia wartość wskazującą, czy użytkownik może sortować kolumnę, klikając nagłówek kolumny.

(Odziedziczone po DataGridColumn)
CellStyle

Pobiera lub ustawia styl używany do renderowania komórek w kolumnie.

(Odziedziczone po DataGridColumn)
ClipboardContentBinding

Pobiera lub ustawia obiekt powiązania do użycia podczas pobierania lub ustawiania zawartości komórki dla schowka.

DataGridOwner

Pobiera kontrolkę zawierającą DataGrid tę kolumnę.

(Odziedziczone po DataGridColumn)
DefaultEditingElementStyle

Pobiera wartość domyślną EditingElementStyle właściwości .

DefaultElementStyle

Pobiera wartość domyślną zmiennej ElementStyle.

DependencyObjectType

Pobiera klasę DependencyObjectType , która opakowuje typ CLR tego wystąpienia.

(Odziedziczone po DependencyObject)
Dispatcher

Pobiera element, z Dispatcher który DispatcherObject jest skojarzony.

(Odziedziczone po DispatcherObject)
DisplayIndex

Pobiera lub ustawia pozycję wyświetlania kolumny względem innych kolumn w obiekcie DataGrid.

(Odziedziczone po DataGridColumn)
DisplayMemberPath

Pobiera lub ustawia ścieżkę do wartości w obiekcie źródłowym, aby zapewnić wizualną reprezentację obiektu.

DragIndicatorStyle

Pobiera lub ustawia obiekt stylu, który ma być stosowany do nagłówka kolumny podczas operacji przeciągania.

(Odziedziczone po DataGridColumn)
EditingElementStyle

Pobiera lub ustawia styl używany podczas renderowania elementu wyświetlanego przez kolumnę dla komórki w trybie edycji.

ElementStyle

Pobiera lub ustawia styl używany podczas renderowania elementu wyświetlanego przez kolumnę dla komórki, która nie jest w trybie edycji.

Header

Pobiera lub ustawia zawartość nagłówka kolumny.

(Odziedziczone po DataGridColumn)
HeaderStringFormat

Pobiera lub ustawia wzorzec formatu, który ma być stosowany do zawartości nagłówka kolumny.

(Odziedziczone po DataGridColumn)
HeaderStyle

Pobiera lub ustawia styl używany podczas renderowania nagłówka kolumny.

(Odziedziczone po DataGridColumn)
HeaderTemplate

Pobiera lub ustawia szablon, który definiuje wizualną reprezentację nagłówka kolumny.

(Odziedziczone po DataGridColumn)
HeaderTemplateSelector

Pobiera lub ustawia obiekt, który wybiera szablon do użycia dla nagłówka kolumny.

(Odziedziczone po DataGridColumn)
IsAutoGenerated

Pobiera wartość wskazującą, czy kolumna jest generowana automatycznie.

(Odziedziczone po DataGridColumn)
IsFrozen

Pobiera wartość wskazującą, czy kolumna nie może przewijać się w poziomie.

(Odziedziczone po DataGridColumn)
IsReadOnly

Pobiera lub ustawia wartość wskazującą, czy można edytować komórki w kolumnie.

(Odziedziczone po DataGridColumn)
IsSealed

Pobiera wartość wskazującą, czy to wystąpienie jest obecnie zapieczętowane (tylko do odczytu).

(Odziedziczone po DependencyObject)
ItemsSource

Pobiera lub ustawia kolekcję używaną do generowania zawartości kontrolki pola kombi.

MaxWidth

Pobiera lub ustawia ograniczenie maksymalnej szerokości kolumny.

(Odziedziczone po DataGridColumn)
MinWidth

Pobiera lub ustawia ograniczenie minimalnej szerokości kolumny.

(Odziedziczone po DataGridColumn)
SelectedItemBinding

Pobiera lub ustawia powiązanie dla aktualnie wybranego elementu.

SelectedValueBinding

Pobiera lub ustawia wartość wybranego elementu uzyskane za pomocą polecenia SelectedValuePath.

SelectedValuePath

Pobiera lub ustawia ścieżkę, która jest używana do pobierania elementu SelectedValue z elementu SelectedItem.

SortDirection

Pobiera lub ustawia kierunek sortowania (rosnąco lub malejąco) kolumny.

(Odziedziczone po DataGridColumn)
SortMemberPath

Pobiera lub ustawia nazwę właściwości lub rozdzielaną kropkami hierarchię nazw właściwości, która wskazuje element członkowski do sortowania.

(Odziedziczone po DataGridColumn)
TextBinding

Pobiera lub ustawia powiązanie tekstu w części pola tekstowego kontrolki ComboBox .

TextBlockComboBoxStyleKey

Pobiera klucz zasobu dla stylu, który ma być stosowany do pola kombi tylko do odczytu.

Visibility

Pobiera lub ustawia widoczność kolumny.

(Odziedziczone po DataGridColumn)
Width

Pobiera lub ustawia szerokość kolumny lub tryb automatycznego określania rozmiaru.

(Odziedziczone po DataGridColumn)

Metody

CancelCellEdit(FrameworkElement, Object)

Powoduje, że komórka kolumny jest edytowana, aby przywrócić określoną wartość.

CancelCellEdit(FrameworkElement, Object)

Powoduje, że komórka jest edytowana, aby przywrócić oryginalną, nieedytowaną wartość.

(Odziedziczone po DataGridColumn)
CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
ClearValue(DependencyProperty)

Czyści wartość lokalną właściwości. Właściwość do wyczyszczenia jest określana przez DependencyProperty identyfikator.

(Odziedziczone po DependencyObject)
ClearValue(DependencyPropertyKey)

Czyści wartość lokalną właściwości tylko do odczytu. Właściwość do wyczyszczenia jest określana przez element DependencyPropertyKey.

(Odziedziczone po DependencyObject)
CoerceValue(DependencyProperty)

Przekształca wartość określonej właściwości zależności. Jest to realizowane przez wywołanie dowolnej CoerceValueCallback funkcji określonej w metadanych właściwości dla właściwości zależności, ponieważ istnieje w wywołaniu DependencyObject.

(Odziedziczone po DependencyObject)
CommitCellEdit(FrameworkElement)

Wykonuje dowolną wymaganą walidację przed wyjściem z trybu edycji.

CommitCellEdit(FrameworkElement)

Wykonuje dowolną wymaganą walidację przed zakończeniem trybu edycji komórek.

(Odziedziczone po DataGridColumn)
Equals(Object)

Określa, czy podany DependencyObject element jest odpowiednikiem bieżącego DependencyObjectelementu .

(Odziedziczone po DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Pobiera kontrolkę pola kombi, która jest powiązana z wartościami , SelectedValueBindingi TextBinding kolumnySelectedItemBinding.

GenerateElement(DataGridCell, Object)

Pobiera kontrolkę pola kombi tylko do odczytu, która jest powiązana z wartościami , SelectedValueBindingi TextBinding kolumnySelectedItemBinding.

GetCellContent(DataGridRow)

Content Pobiera wartość właściwości komórki na przecięciu tej kolumny i określonego wiersza.

(Odziedziczone po DataGridColumn)
GetCellContent(Object)

Content Pobiera wartość właściwości komórki na przecięciu tej kolumny i wiersza reprezentującego określony element danych.

(Odziedziczone po DataGridColumn)
GetHashCode()

Pobiera kod skrótu dla tego DependencyObjectpliku .

(Odziedziczone po DependencyObject)
GetLocalValueEnumerator()

Tworzy wyspecjalizowany moduł wyliczający do określania, które właściwości zależności mają lokalnie ustawione wartości dla tego DependencyObjectelementu .

(Odziedziczone po DependencyObject)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
GetValue(DependencyProperty)

Zwraca bieżącą obowiązującą wartość właściwości zależności dla tego wystąpienia klasy DependencyObject.

(Odziedziczone po DependencyObject)
InvalidateProperty(DependencyProperty)

Ponownie oblicza efektywną wartość dla określonej właściwości zależności.

(Odziedziczone po DependencyObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
NotifyPropertyChanged(String)

Powiadamia o tym DataGrid , że zawiera tę kolumnę, że właściwość kolumny została zmieniona.

(Odziedziczone po DataGridColumn)
OnCoerceIsReadOnly(Boolean)

Określa wartość IsReadOnly właściwości na podstawie reguł właściwości z kolumny zawierającej DataGrid tę kolumnę.

OnCopyingCellClipboardContent(Object)

CopyingCellClipboardContent Zgłasza zdarzenie.

(Odziedziczone po DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

PastingCellClipboardContent Zgłasza zdarzenie.

(Odziedziczone po DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Wywoływane za każdym razem, gdy zostanie zaktualizowana efektywna wartość dowolnej właściwości DependencyObject zależności. Określona właściwość zależności, która została zmieniona, jest zgłaszana w danych zdarzenia.

(Odziedziczone po DependencyObject)
OnSelectedItemBindingChanged(BindingBase, BindingBase)

Powiadamia o DataGrid zmianie SelectedItemBinding właściwości.

OnSelectedValueBindingChanged(BindingBase, BindingBase)

Powiadamia o DataGrid zmianie SelectedValueBinding właściwości.

OnTextBindingChanged(BindingBase, BindingBase)

Powiadamia o DataGrid zmianie TextBinding właściwości.

PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Wywoływana, gdy komórka w kolumnie przechodzi w tryb edycji.

ReadLocalValue(DependencyProperty)

Zwraca wartość lokalną właściwości zależności, jeśli istnieje.

(Odziedziczone po DependencyObject)
RefreshCellContent(FrameworkElement, String)

Odświeża zawartość komórki w kolumnie w odpowiedzi na zmianę powiązania.

SetCurrentValue(DependencyProperty, Object)

Ustawia wartość właściwości zależności bez zmieniania jej źródła wartości.

(Odziedziczone po DependencyObject)
SetValue(DependencyProperty, Object)

Ustawia wartość lokalną właściwości zależności określonej przez jej identyfikator właściwości zależności.

(Odziedziczone po DependencyObject)
SetValue(DependencyPropertyKey, Object)

Ustawia wartość lokalną właściwości zależności tylko do odczytu określonej przez DependencyPropertyKey identyfikator właściwości zależności.

(Odziedziczone po DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość dla podanej właściwości zależności.

(Odziedziczone po DependencyObject)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)

Zdarzenia

CopyingCellClipboardContent

Występuje po przygotowaniu zawartości schowka komórki.

(Odziedziczone po DataGridColumn)
PastingCellClipboardContent

Występuje przed przeniesieniem zawartości schowka do komórki.

(Odziedziczone po DataGridColumn)

Dotyczy