Condividi tramite


DataGridComboBoxColumn Classe

Definizione

Rappresenta una DataGrid colonna che ospita ComboBox i controlli nelle relative celle.

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
Ereditarietà

Esempio

Nell'esempio seguente viene illustrato come popolare l'elenco a discesa per ogni ComboBox colonna con i valori di un'enumerazione. L'elemento selezionato nell'elenco a discesa è associato impostando la SelectedItemBinding proprietà sulla proprietà dell'oggetto visualizzato in ogni riga.

<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

Commenti

Usare DataGridComboBoxColumn per visualizzare i dati in cui è presente un set di elementi tra cui scegliere, ad esempio un'enumerazione. DataGridComboBoxColumn consente agli utenti di selezionare un elemento da un elenco a discesa. La figura seguente mostra un DataGridComboBoxColumn.

DataGridComboBoxColumn

Per popolare l'elenco a discesa, impostare prima di tutto la ItemsSource proprietà per ComboBox utilizzando una delle opzioni seguenti:

Dopo aver ItemsSource impostato , associare l'elemento selezionato nell'oggetto ComboBox all'elemento di dati per la riga in cui si trova la cella. È possibile impostare l'associazione usando una delle proprietà seguenti:

Proprietà Descrizione
TextBinding Imposta il percorso di associazione del testo per l'elemento attualmente selezionato.
SelectedItemBinding Imposta il percorso di associazione dell'oggetto attualmente selezionato.
SelectedValueBinding Imposta il percorso di associazione sul valore dell'elemento selezionato specificato dalla SelectedValuePath proprietà .

Quando la IsReadOnly proprietà è impostata su true, gli utenti non possono modificare la colonna e non potranno visualizzare l'elenco a discesa.

Se si desidera visualizzare altri tipi di dati, DataGrid vengono forniti i tipi di colonna seguenti:

Tipo di colonna Visualizzazione dati
DataGridHyperlinkColumn Usare per visualizzare i dati URI.
DataGridCheckBoxColumn Utilizzare per visualizzare i dati booleani.
DataGridTextColumn Usare per visualizzare il testo.

Se si vogliono usare altri controlli in DataGrid, è possibile creare tipi di colonna personalizzati usando DataGridTemplateColumn.

Costruttori

Nome Descrizione
DataGridComboBoxColumn()

Inizializza una nuova istanza della classe DataGridComboBoxColumn.

Campi

Nome Descrizione
DisplayMemberPathProperty

Identifica la DisplayMemberPath proprietà di dipendenza.

EditingElementStyleProperty

Identifica la EditingElementStyle proprietà di dipendenza.

ElementStyleProperty

Identifica la ElementStyle proprietà di dipendenza.

ItemsSourceProperty

Identifica la ItemsSource proprietà di dipendenza.

SelectedValuePathProperty

Identifica la SelectedValuePath proprietà di dipendenza.

Proprietà

Nome Descrizione
ActualWidth

Ottiene la larghezza corrente della colonna, in unità indipendenti dal dispositivo (1/96 pollici per unità).

(Ereditato da DataGridColumn)
CanUserReorder

Ottiene o imposta un valore che indica se l'utente può modificare la posizione di visualizzazione della colonna trascinando l'intestazione di colonna.

(Ereditato da DataGridColumn)
CanUserResize

Ottiene o imposta un valore che indica se l'utente può regolare la larghezza della colonna utilizzando il mouse.

(Ereditato da DataGridColumn)
CanUserSort

Ottiene o imposta un valore che indica se l'utente può ordinare la colonna facendo clic sull'intestazione di colonna.

(Ereditato da DataGridColumn)
CellStyle

Ottiene o imposta lo stile utilizzato per il rendering delle celle nella colonna.

(Ereditato da DataGridColumn)
ClipboardContentBinding

Ottiene o imposta l'oggetto di associazione da utilizzare per ottenere o impostare il contenuto della cella per gli Appunti.

DataGridOwner

Ottiene il DataGrid controllo che contiene questa colonna.

(Ereditato da DataGridColumn)
DefaultEditingElementStyle

Ottiene il valore predefinito della EditingElementStyle proprietà.

DefaultElementStyle

Ottiene il valore predefinito di ElementStyle.

DependencyObjectType

Ottiene l'oggetto DependencyObjectType che esegue il wrapping del tipo CLR di questa istanza.

(Ereditato da DependencyObject)
Dispatcher

Ottiene l'oggetto DispatcherDispatcherObject a cui è associato.

(Ereditato da DispatcherObject)
DisplayIndex

Ottiene o imposta la posizione di visualizzazione della colonna rispetto alle altre colonne dell'oggetto DataGrid.

(Ereditato da DataGridColumn)
DisplayMemberPath

Ottiene o imposta un percorso di un valore nell'oggetto di origine per fornire la rappresentazione visiva dell'oggetto.

DragIndicatorStyle

Ottiene o imposta l'oggetto stile da applicare all'intestazione di colonna durante un'operazione di trascinamento.

(Ereditato da DataGridColumn)
EditingElementStyle

Ottiene o imposta lo stile utilizzato durante il rendering dell'elemento visualizzato dalla colonna per una cella in modalità di modifica.

ElementStyle

Ottiene o imposta lo stile utilizzato durante il rendering dell'elemento visualizzato dalla colonna per una cella che non è in modalità di modifica.

Header

Ottiene o imposta il contenuto dell'intestazione di colonna.

(Ereditato da DataGridColumn)
HeaderStringFormat

Ottiene o imposta il modello di formato da applicare al contenuto dell'intestazione di colonna.

(Ereditato da DataGridColumn)
HeaderStyle

Ottiene o imposta lo stile utilizzato per il rendering dell'intestazione di colonna.

(Ereditato da DataGridColumn)
HeaderTemplate

Ottiene o imposta il modello che definisce la rappresentazione visiva dell'intestazione di colonna.

(Ereditato da DataGridColumn)
HeaderTemplateSelector

Ottiene o imposta l'oggetto che seleziona il modello da utilizzare per l'intestazione di colonna.

(Ereditato da DataGridColumn)
IsAutoGenerated

Ottiene un valore che indica se la colonna viene generata automaticamente.

(Ereditato da DataGridColumn)
IsFrozen

Ottiene un valore che indica se la colonna non può scorrere orizzontalmente.

(Ereditato da DataGridColumn)
IsReadOnly

Ottiene o imposta un valore che indica se è possibile modificare le celle della colonna.

(Ereditato da DataGridColumn)
IsSealed

Ottiene un valore che indica se questa istanza è attualmente sealed (sola lettura).

(Ereditato da DependencyObject)
ItemsSource

Ottiene o imposta una raccolta utilizzata per generare il contenuto del controllo casella combinata.

MaxWidth

Ottiene o imposta il vincolo di larghezza massima della colonna.

(Ereditato da DataGridColumn)
MinWidth

Ottiene o imposta il vincolo di larghezza minima della colonna.

(Ereditato da DataGridColumn)
SelectedItemBinding

Ottiene o imposta l'associazione per l'elemento attualmente selezionato.

SelectedValueBinding

Ottiene o imposta il valore dell'elemento selezionato, ottenuto utilizzando SelectedValuePath.

SelectedValuePath

Ottiene o imposta il percorso utilizzato per ottenere l'oggetto SelectedValueSelectedItemda .

SortDirection

Ottiene o imposta la direzione di ordinamento (crescente o decrescente) della colonna.

(Ereditato da DataGridColumn)
SortMemberPath

Ottiene o imposta un nome di proprietà o una gerarchia delimitata da punti di nomi di proprietà, che indica il membro da ordinare.

(Ereditato da DataGridColumn)
TextBinding

Ottiene o imposta l'associazione per il testo nella parte della casella di testo del ComboBox controllo.

TextBlockComboBoxStyleKey

Ottiene la chiave di risorsa per lo stile da applicare a una casella combinata di sola lettura.

Visibility

Ottiene o imposta la visibilità della colonna.

(Ereditato da DataGridColumn)
Width

Ottiene o imposta la larghezza della colonna o la modalità di ridimensionamento automatico.

(Ereditato da DataGridColumn)

Metodi

Nome Descrizione
CancelCellEdit(FrameworkElement, Object)

Determina la modifica della cella di colonna per ripristinare il valore specificato.

CancelCellEdit(FrameworkElement, Object)

Fa sì che la cella venga modificata ripristinando il valore originale non modificato.

(Ereditato da DataGridColumn)
CheckAccess()

Determina se il thread chiamante ha accesso a questo DispatcherObjectoggetto .

(Ereditato da DispatcherObject)
ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà. La proprietà da cancellare viene specificata da un DependencyProperty identificatore.

(Ereditato da DependencyObject)
ClearValue(DependencyPropertyKey)

Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare viene specificata da un oggetto DependencyPropertyKey.

(Ereditato da DependencyObject)
CoerceValue(DependencyProperty)

Forza il valore della proprietà di dipendenza specificata. A tale scopo, richiamare qualsiasi CoerceValueCallback funzione specificata nei metadati della proprietà per la proprietà di dipendenza così come esiste nella chiamata DependencyObjectdi .

(Ereditato da DependencyObject)
CommitCellEdit(FrameworkElement)

Esegue qualsiasi convalida necessaria prima di uscire dalla modalità di modifica.

CommitCellEdit(FrameworkElement)

Esegue qualsiasi convalida necessaria prima di uscire dalla modalità di modifica delle celle.

(Ereditato da DataGridColumn)
Equals(Object)

Determina se un oggetto specificato DependencyObject è equivalente all'oggetto corrente DependencyObject.

(Ereditato da DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Ottiene un controllo casella combinata associato ai valori , SelectedValueBindinge TextBinding della SelectedItemBindingcolonna.

GenerateElement(DataGridCell, Object)

Ottiene un controllo casella combinata di sola lettura associato ai valori , SelectedValueBindinge TextBinding della SelectedItemBindingcolonna.

GetCellContent(DataGridRow)

Recupera il Content valore della proprietà per la cella all'intersezione di questa colonna e della riga specificata.

(Ereditato da DataGridColumn)
GetCellContent(Object)

Ottiene il Content valore della proprietà per la cella all'intersezione di questa colonna e la riga che rappresenta l'elemento di dati specificato.

(Ereditato da DataGridColumn)
GetHashCode()

Ottiene un codice hash per l'oggetto DependencyObject.

(Ereditato da DependencyObject)
GetLocalValueEnumerator()

Crea un enumeratore specializzato per determinare quali proprietà di dipendenza hanno valori impostati localmente in questo DependencyObjectoggetto .

(Ereditato da DependencyObject)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di un oggetto DependencyObject.

(Ereditato da DependencyObject)
InvalidateProperty(DependencyProperty)

Rivaluta il valore effettivo per la proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
NotifyPropertyChanged(String)

Notifica all'oggetto DataGrid che contiene questa colonna che una proprietà di colonna è stata modificata.

(Ereditato da DataGridColumn)
OnCoerceIsReadOnly(Boolean)

Determina il valore della IsReadOnly proprietà in base alle regole di proprietà dell'oggetto DataGrid che contiene questa colonna.

OnCopyingCellClipboardContent(Object)

Genera l'evento CopyingCellClipboardContent.

(Ereditato da DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

Genera l'evento PastingCellClipboardContent.

(Ereditato da DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Richiamato ogni volta che il valore effettivo di qualsiasi proprietà di dipendenza in questo DependencyObject oggetto è stato aggiornato. La proprietà di dipendenza specifica modificata viene segnalata nei dati dell'evento.

(Ereditato da DependencyObject)
OnSelectedItemBindingChanged(BindingBase, BindingBase)

Notifica all'oggetto DataGrid quando la SelectedItemBinding proprietà viene modificata.

OnSelectedValueBindingChanged(BindingBase, BindingBase)

Notifica all'oggetto DataGrid quando la SelectedValueBinding proprietà viene modificata.

OnTextBindingChanged(BindingBase, BindingBase)

Notifica all'oggetto DataGrid quando la TextBinding proprietà viene modificata.

PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Chiamato quando una cella nella colonna entra in modalità di modifica.

ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se esistente.

(Ereditato da DependencyObject)
RefreshCellContent(FrameworkElement, String)

Aggiorna il contenuto di una cella nella colonna in risposta a una modifica dell'associazione.

SetCurrentValue(DependencyProperty, Object)

Imposta il valore di una proprietà di dipendenza senza modificarne l'origine del valore.

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza, specificato dall'identificatore della proprietà di dipendenza.

(Ereditato da DependencyObject)
SetValue(DependencyPropertyKey, Object)

Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificato dall'identificatore DependencyPropertyKey della proprietà di dipendenza.

(Ereditato da DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore per la proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a questo DispatcherObjectoggetto .

(Ereditato da DispatcherObject)

Eventi

Nome Descrizione
CopyingCellClipboardContent

Si verifica dopo la preparazione del contenuto degli Appunti delle celle.

(Ereditato da DataGridColumn)
PastingCellClipboardContent

Si verifica prima che il contenuto degli Appunti venga spostato nella cella.

(Ereditato da DataGridColumn)

Si applica a