DataGridComboBoxColumn クラス


セルの DataGrid コントロールをホストする ComboBox 列を表します。Represents a DataGrid column that hosts ComboBox controls in its cells.

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

次の例では、列の各 ComboBox のドロップダウンリストに列挙体の値を設定する方法を示します。The following example shows how to populate the drop-down list for each ComboBox in the column with the values of an enumeration. ドロップダウンリストで選択した項目は、[SelectedItemBinding] プロパティを、各行に表示されるオブジェクトのプロパティに設定することによってバインドされます。The selected item in the drop-down list is bound by setting the SelectedItemBinding property to the property of the object displayed in each row.

<NavigationWindow x:Class="DataGrid_CustomColumns.Window1"
    Title="Customers" Height="300" Width="300" ShowsNavigationUI="False"  >
    <!--Create list of enumeration values-->
    <ObjectDataProvider x:Key="myEnum" MethodName="GetValues" ObjectType="{x:Type core:Enum}">
            <x:Type Type="local:OrderStatus"/>
    <!--Create an instance of the converter for Email-->
    <local:EmailConverter x:Key="EmailConverter" />
    <DataGrid Name="DG1" ItemsSource="{Binding}" AutoGenerateColumns="False" >
                <DataGridComboBoxColumn Header="Order Status"  SelectedItemBinding="{Binding Status}" ItemsSource="{Binding Source={StaticResource myEnum}}" />
public partial class Window1 : NavigationWindow
Class Window1
public Window1()

    //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.
    ' 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
End Enum


DataGridComboBoxColumn を使用すると、列挙など、選択する一連の項目があるデータを表示できます。Use DataGridComboBoxColumn to display data where there is a set of items to choose from, such as an enumeration. DataGridComboBoxColumn を使用すると、ユーザーはドロップダウンリストから項目を選択できます。DataGridComboBoxColumn allows users to select an item from a drop-down list. 次の図は、DataGridComboBoxColumnを示しています。The following illustration shows a DataGridComboBoxColumn.

DataGridComboBoxColumnA DataGridComboBoxColumn

ドロップダウンリストを設定するには、まず、次のいずれかのオプションを使用して、ComboBoxItemsSource プロパティを設定します。To populate the drop-down list, first set the ItemsSource property for the ComboBox by using one of the following options:

ItemsSource が設定されたら、ComboBox 内の選択した項目を、セルがある行のデータ項目にバインドします。Once the ItemsSource is set, bind the selected item in the ComboBox to the data item for the row that the cell is in. バインドは、次のいずれかのプロパティを使用して設定できます。You can set the binding by using one of the following properties:

プロパティProperty 説明Description
TextBinding 現在選択されている項目のテキストのバインドパスを設定します。Sets the binding path of the text for the currently selected item.
SelectedItemBinding 現在選択されているオブジェクトのバインドパスを設定します。Sets the binding path of the object that is currently selected.
SelectedValueBinding SelectedValuePath プロパティによって指定された選択項目の値にバインドパスを設定します。Sets the binding path to the value of the selected item specified by the SelectedValuePath property.

IsReadOnly プロパティが trueに設定されている場合、ユーザーは列を編集できないため、ドロップダウンリストを表示できません。When the IsReadOnly property is set to true, users cannot edit the column and they will not be able to see the drop-down list.

他の種類のデータを表示するには、DataGrid 次の列の型を使用します。If you want to display other types of data, DataGrid provides the following column types:

列の型Column Type データ表示Data Display
DataGridHyperlinkColumn URI データを表示するには、を使用します。Use to display URI data.
DataGridCheckBoxColumn ブール型のデータを表示するには、を使用します。Use to display Boolean data.
DataGridTextColumn テキストの表示に使用します。Use to display text.

DataGridで他のコントロールを使用する場合は、DataGridTemplateColumnを使用して独自の列の型を作成できます。If you want to use other controls in your DataGrid, you can create your own column types by using DataGridTemplateColumn.



DataGridComboBoxColumn クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataGridComboBoxColumn class.



DisplayMemberPath 依存関係プロパティを識別します。Identifies the DisplayMemberPath dependency property.


EditingElementStyle 依存関係プロパティを識別します。Identifies the EditingElementStyle dependency property.


ElementStyle 依存関係プロパティを識別します。Identifies the ElementStyle dependency property.


ItemsSource 依存関係プロパティを識別します。Identifies the ItemsSource dependency property.


SelectedValuePath 依存関係プロパティを識別します。Identifies the SelectedValuePath dependency property.



列の現在の幅を デバイスに依存しない単位 (1 単位は 1/96 インチ)device-independent units (1/96th inch per unit) 単位で取得します。Gets the current width of the column, in デバイスに依存しない単位 (1 単位は 1/96 インチ)device-independent units (1/96th inch per unit).

(継承元 DataGridColumn)

ユーザーが列見出しをドラッグして列の表示位置を変更できるかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the user can change the column display position by dragging the column header.

(継承元 DataGridColumn)

ユーザーがマウスを使用して列幅を調整できるかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the user can adjust the column width by using the mouse.

(継承元 DataGridColumn)

ユーザーが列見出しをクリックして項目を並べ替えられるかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the user can sort the column by clicking the column header.

(継承元 DataGridColumn)

列に含まれるセルを表示するときに使用するスタイルを取得または設定します。Gets or sets the style that is used to render cells in the column.

(継承元 DataGridColumn)

クリップボードのセルの内容を取得または設定するときに使用するバインディング オブジェクトを取得または設定します。Gets or sets the binding object to use when getting or setting cell content for the clipboard.


この列を格納している DataGrid コントロールを取得します。Gets the DataGrid control that contains this column.

(継承元 DataGridColumn)

EditingElementStyle プロパティの既定値を取得します。Gets the default value of the EditingElementStyle property.


ElementStyle の既定値を取得します。Gets the default value of the ElementStyle.


このインスタンスの CLRCLR 型をラップする DependencyObjectType を取得します。Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(継承元 DependencyObject)

この Dispatcher が関連付けられている DispatcherObject を取得します。Gets the Dispatcher this DispatcherObject is associated with.

(継承元 DispatcherObject)

DataGrid 内の他の列を基準とした列の表示位置を設定または取得します。Gets or sets the display position of the column relative to the other columns in the DataGrid.

(継承元 DataGridColumn)

オブジェクトを視覚的に表現するために使用される、ソース オブジェクト上の値へのパスを取得または設定します。Gets or sets a path to a value on the source object to provide the visual representation of the object.


ドラッグ操作中に列ヘッダーに適用するスタイル オブジェクトを取得または設定します。Gets or sets the style object to apply to the column header during a drag operation.

(継承元 DataGridColumn)

編集モードのセルに列で表示される要素のレンダリングに使用するスタイルを取得または設定します。Gets or sets the style that is used when rendering the element that the column displays for a cell in editing mode.


編集モードではないセルに列で表示される要素のレンダリングに使用するスタイルを取得または設定します。Gets or sets the style that is used when rendering the element that the column displays for a cell that is not in editing mode.


列見出しのコンテンツを取得または設定します。Gets or sets the content of the column header.

(継承元 DataGridColumn)

列ヘッダーの内容に適用される書式パターンを取得または設定します。Gets or sets the format pattern to apply to the content of the column header.

(継承元 DataGridColumn)

列ヘッダーの描画に使用されるスタイルを取得または設定します。Gets or sets the style that is used when rendering the column header.

(継承元 DataGridColumn)

列ヘッダーの視覚表示を定義するテンプレートを取得または設定します。Gets or sets the template that defines the visual representation of the column header.

(継承元 DataGridColumn)

列ヘッダーに使用するテンプレートを選択するオブジェクトを取得または設定します。Gets or sets the object that selects which template to use for the column header.

(継承元 DataGridColumn)

列が自動生成されるかどうかを示す値を取得します。Gets a value that indicates whether the column is auto-generated.

(継承元 DataGridColumn)

列の水平方向のスクロールが禁止されているかどうかを示す値を取得します。Gets a value that indicates whether the column is prevented from scrolling horizontally.

(継承元 DataGridColumn)

列のセルが編集可能かどうかを示す値を取得または設定します。Gets or sets a value that indicates whether cells in the column can be edited.

(継承元 DataGridColumn)

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。Gets a value that indicates whether this instance is currently sealed (read-only).

(継承元 DependencyObject)

コンボ ボックス コントロールのコンテンツの生成に使用するコレクションを取得または設定します。Gets or sets a collection that is used to generate the content of the combo box control.


列の幅の上限を取得または設定します。Gets or sets the maximum width constraint of the column.

(継承元 DataGridColumn)

列の幅の下限を取得または設定します。Gets or sets the minimum width constraint of the column.

(継承元 DataGridColumn)

選択中の項目のバインディングを取得または設定します。Gets or sets the binding for the currently selected item.


SelectedValuePath を使用して取得される、選択されている項目の値を取得または設定します。Gets or sets the value of the selected item, obtained by using SelectedValuePath.


SelectedValue から SelectedItem を取得するために使用するパスを取得または設定します。Gets or sets the path that is used to get the SelectedValue from the SelectedItem.


列の並べ替え方向 (昇順または降順) を取得または設定します。Gets or sets the sort direction (ascending or descending) of the column.

(継承元 DataGridColumn)

メンバーの並べ替えの基準にするプロパティ名、または階層をピリオドで区切ったプロパティ名を取得または設定します。Gets or sets a property name, or a period-delimited hierarchy of property names, that indicates the member to sort by.

(継承元 DataGridColumn)

ComboBox コントロールのテキスト ボックス部分のテキストのバインディングを取得または設定します。Gets or sets the binding for the text in the text box portion of the ComboBox control.


読み取り専用のコンボ ボックスに適用するスタイルのリソース キーを取得します。Gets the resource key for the style to apply to a read-only combo box.


列の可視性を取得または設定します。Gets or sets the visibility of the column.

(継承元 DataGridColumn)

列の幅または自動サイズ調整モードを取得または設定します。Gets or sets the column width or automatic sizing mode.

(継承元 DataGridColumn)


CancelCellEdit(FrameworkElement, Object)

列の編集中のセルの値を、指定した値に戻します。Causes the column cell being edited to revert to the specified value.

CancelCellEdit(FrameworkElement, Object)

編集中のセルの値を、元 (編集前) の値に戻します。Causes the cell being edited to revert to the original, unedited value.

(継承元 DataGridColumn)

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。Determines whether the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)

プロパティのローカル値をクリアします。Clears the local value of a property. クリアするプロパティは DependencyProperty 識別子で指定されます。The property to be cleared is specified by a DependencyProperty identifier.

(継承元 DependencyObject)

読み取り専用プロパティのローカル値を消去します。Clears the local value of a read-only property. 消去するプロパティは、 DependencyPropertyKeyで指定します。The property to be cleared is specified by a DependencyPropertyKey.

(継承元 DependencyObject)

指定した依存関係プロパティの値を強制します。Coerces the value of the specified dependency property. これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(継承元 DependencyObject)

編集モードを終了する前に、必要な検証を実行します。Performs any required validation before exiting the editing mode.


セル編集モードを終了する前に、必要な検証を実行します。Performs any required validation before exiting cell editing mode.

(継承元 DataGridColumn)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(継承元 DependencyObject)
GenerateEditingElement(DataGridCell, Object)

列の SelectedItemBindingSelectedValueBinding、および TextBinding の各値にバインドされたコンボ ボックス コントロールを取得します。Gets a combo box control that is bound to the column's SelectedItemBinding, SelectedValueBinding, and TextBinding values.

GenerateElement(DataGridCell, Object)

列の SelectedItemBindingSelectedValueBinding、および TextBinding の各値にバインドされた読み取り専用のコンボ ボックス コントロールを取得します。Gets a read-only combo box control that is bound to the column's SelectedItemBinding, SelectedValueBinding, and TextBinding values.


この列と指定された行の交差位置にあるセルの Content プロパティ値を取得します。Retrieves the Content property value for the cell at the intersection of this column and the specified row.

(継承元 DataGridColumn)

この列と指定されたデータ項目を表す行の交差位置にあるセルの Content プロパティ値を取得します。Gets the Content property value for the cell at the intersection of this column and the row that represents the specified data item.

(継承元 DataGridColumn)

この DependencyObject のハッシュ コードを取得します。Gets a hash code for this DependencyObject.

(継承元 DependencyObject)

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(継承元 DependencyObject)

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。Returns the current effective value of a dependency property on this instance of a DependencyObject.

(継承元 DependencyObject)

指定した依存関係プロパティの有効値を再評価します。Re-evaluates the effective value for the specified dependency property.

(継承元 DependencyObject)

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)

この列を含んでいる DataGrid に、列プロパティが変更されたことを通知します。Notifies the DataGrid that contains this column that a column property has changed.

(継承元 DataGridColumn)

この列を格納する IsReadOnly のプロパティ規則に基づいて DataGrid プロパティの値を決定します。Determines the value of the IsReadOnly property based on property rules from the DataGrid that contains this column.


CopyingCellClipboardContent イベントを発生させます。Raises the CopyingCellClipboardContent event.

(継承元 DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

PastingCellClipboardContent イベントを発生させます。Raises the PastingCellClipboardContent event.

(継承元 DataGridColumn)

この DependencyObject の依存関係プロパティの有効値が更新されると、そのたびに呼び出されます。Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. 変更された特定の依存関係プロパティは、イベント データで報告されます。The specific dependency property that changed is reported in the event data.

(継承元 DependencyObject)
OnSelectedItemBindingChanged(BindingBase, BindingBase)

DataGrid プロパティが変更されたときに SelectedItemBinding に通知します。Notifies the DataGrid when the SelectedItemBinding property changes.

OnSelectedValueBindingChanged(BindingBase, BindingBase)

DataGrid プロパティが変更されたときに SelectedValueBinding に通知します。Notifies the DataGrid when the SelectedValueBinding property changes.

OnTextBindingChanged(BindingBase, BindingBase)

DataGrid プロパティが変更されたときに TextBinding に通知します。Notifies the DataGrid when the TextBinding property changes.

PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

列内のセルが編集モードになるとき呼び出されます。Called when a cell in the column enters editing mode.


ローカルの依存関係プロパティの値を返します (存在する場合)。Returns the local value of a dependency property, if it exists.

(継承元 DependencyObject)
RefreshCellContent(FrameworkElement, String)

バインディングの変更に応じて、列内のセルのコンテンツを更新します。Refreshes the contents of a cell in the column in response to a binding change.

SetCurrentValue(DependencyProperty, Object)

依存関係プロパティ値のソースを変更せずにその値を設定します。Sets the value of a dependency property without changing its value source.

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。Sets the local value of a dependency property, specified by its dependency property identifier.

(継承元 DependencyObject)
SetValue(DependencyPropertyKey, Object)

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(継承元 DependencyObject)

シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(継承元 DependencyObject)

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。Enforces that the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)



セルのクリップボードの内容が準備された後に発生します。Occurs after the cell clipboard content is prepared.

(継承元 DataGridColumn)

クリップボードの内容がセルに移動される前に発生します。Occurs before the clipboard content is moved to the cell.

(継承元 DataGridColumn)