DataGridComboBoxColumn クラス

定義

セルの DataGrid コントロールをホストする ComboBox 列を表します。

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 ドロップダウン リストに列挙の値を設定する方法を示しています。 ドロップダウン リストで選択した項目は、 プロパティを SelectedItemBinding 各行に表示されるオブジェクトの プロパティに設定することによってバインドされます。

<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

注釈

列挙型など、選択する項目のセットがあるデータを表示するには、 を使用 DataGridComboBoxColumn します。 DataGridComboBoxColumn を使用すると、ユーザーはドロップダウン リストから項目を選択できます。 次の図は、DataGridComboBoxColumn を示しています。

A DataGridComboBoxColumn

ドロップダウン リストを設定するには、まず、次のいずれかのオプションを ItemsSource 使用して の ComboBox プロパティを設定します。

ItemsSource 設定されたら、 で ComboBox 選択した項目を、セルの行のデータ項目にバインドします。 バインドは、次のいずれかのプロパティを使用して設定できます。

プロパティ 説明
TextBinding 現在選択されている項目のテキストのバインド パスを設定します。
SelectedItemBinding 現在選択されているオブジェクトのバインド パスを設定します。
SelectedValueBinding バインド パスを、 プロパティで指定された選択した項目の値に SelectedValuePath 設定します。

プロパティが IsReadOnlytrue設定されている場合、ユーザーは列を編集できず、ドロップダウン リストを表示できません。

他の種類のデータを表示する場合は、 DataGrid 次の列の種類を指定します。

列の型 データ表示
DataGridHyperlinkColumn URI データを表示するには、 を使用します。
DataGridCheckBoxColumn ブールデータを表示するには、 を使用します。
DataGridTextColumn テキストを表示するには、 を使用します。

DataGrid他のコントロールを使用する場合は、 を使用 DataGridTemplateColumnして独自の列型を作成できます。

コンストラクター

DataGridComboBoxColumn()

DataGridComboBoxColumn クラスの新しいインスタンスを初期化します。

フィールド

DisplayMemberPathProperty

DisplayMemberPath 依存関係プロパティを識別します。

EditingElementStyleProperty

EditingElementStyle 依存関係プロパティを識別します。

ElementStyleProperty

ElementStyle 依存関係プロパティを識別します。

ItemsSourceProperty

ItemsSource 依存関係プロパティを識別します。

SelectedValuePathProperty

SelectedValuePath 依存関係プロパティを識別します。

プロパティ

ActualWidth

デバイスに依存しない単位 (単位あたり 1/96 インチ) の列の現在の幅を取得します。

(継承元 DataGridColumn)
CanUserReorder

ユーザーが列見出しをドラッグして列の表示位置を変更できるかどうかを示す値を取得または設定します。

(継承元 DataGridColumn)
CanUserResize

ユーザーがマウスを使用して列幅を調整できるかどうかを示す値を取得または設定します。

(継承元 DataGridColumn)
CanUserSort

ユーザーが列見出しをクリックして項目を並べ替えられるかどうかを示す値を取得または設定します。

(継承元 DataGridColumn)
CellStyle

列に含まれるセルを表示するときに使用するスタイルを取得または設定します。

(継承元 DataGridColumn)
ClipboardContentBinding

クリップボードのセルの内容を取得または設定するときに使用するバインディング オブジェクトを取得または設定します。

DataGridOwner

この列を格納している DataGrid コントロールを取得します。

(継承元 DataGridColumn)
DefaultEditingElementStyle

EditingElementStyle プロパティの既定値を取得します。

DefaultElementStyle

ElementStyle の既定値を取得します。

DependencyObjectType

このインスタンスの DependencyObjectType CLR 型をラップする を取得します。

(継承元 DependencyObject)
Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。

(継承元 DispatcherObject)
DisplayIndex

DataGrid 内の他の列を基準とした列の表示位置を設定または取得します。

(継承元 DataGridColumn)
DisplayMemberPath

オブジェクトを視覚的に表現するために使用される、ソース オブジェクト上の値へのパスを取得または設定します。

DragIndicatorStyle

ドラッグ操作中に列ヘッダーに適用するスタイル オブジェクトを取得または設定します。

(継承元 DataGridColumn)
EditingElementStyle

編集モードのセルに列で表示される要素のレンダリングに使用するスタイルを取得または設定します。

ElementStyle

編集モードではないセルに列で表示される要素のレンダリングに使用するスタイルを取得または設定します。

Header

列見出しのコンテンツを取得または設定します。

(継承元 DataGridColumn)
HeaderStringFormat

列ヘッダーの内容に適用される書式パターンを取得または設定します。

(継承元 DataGridColumn)
HeaderStyle

列ヘッダーの描画に使用されるスタイルを取得または設定します。

(継承元 DataGridColumn)
HeaderTemplate

列ヘッダーの視覚表示を定義するテンプレートを取得または設定します。

(継承元 DataGridColumn)
HeaderTemplateSelector

列ヘッダーに使用するテンプレートを選択するオブジェクトを取得または設定します。

(継承元 DataGridColumn)
IsAutoGenerated

列が自動生成されるかどうかを示す値を取得します。

(継承元 DataGridColumn)
IsFrozen

列の水平方向のスクロールが禁止されているかどうかを示す値を取得します。

(継承元 DataGridColumn)
IsReadOnly

列のセルが編集可能かどうかを示す値を取得または設定します。

(継承元 DataGridColumn)
IsSealed

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。

(継承元 DependencyObject)
ItemsSource

コンボ ボックス コントロールのコンテンツの生成に使用するコレクションを取得または設定します。

MaxWidth

列の幅の上限を取得または設定します。

(継承元 DataGridColumn)
MinWidth

列の幅の下限を取得または設定します。

(継承元 DataGridColumn)
SelectedItemBinding

選択中の項目のバインディングを取得または設定します。

SelectedValueBinding

SelectedValuePath を使用して取得される、選択されている項目の値を取得または設定します。

SelectedValuePath

SelectedValue から SelectedItem を取得するために使用するパスを取得または設定します。

SortDirection

列の並べ替え方向 (昇順または降順) を取得または設定します。

(継承元 DataGridColumn)
SortMemberPath

メンバーの並べ替えの基準にするプロパティ名、または階層をピリオドで区切ったプロパティ名を取得または設定します。

(継承元 DataGridColumn)
TextBinding

ComboBox コントロールのテキスト ボックス部分のテキストのバインディングを取得または設定します。

TextBlockComboBoxStyleKey

読み取り専用のコンボ ボックスに適用するスタイルのリソース キーを取得します。

Visibility

列の可視性を取得または設定します。

(継承元 DataGridColumn)
Width

列の幅または自動サイズ調整モードを取得または設定します。

(継承元 DataGridColumn)

メソッド

CancelCellEdit(FrameworkElement, Object)

列の編集中のセルの値を、指定した値に戻します。

CancelCellEdit(FrameworkElement, Object)

編集中のセルの値を、元 (編集前) の値に戻します。

(継承元 DataGridColumn)
CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。

(継承元 DispatcherObject)
ClearValue(DependencyProperty)

プロパティのローカル値をクリアします。 クリアするプロパティは DependencyProperty 識別子で指定されます。

(継承元 DependencyObject)
ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値を消去します。 消去するプロパティは、DependencyPropertyKey で指定します。

(継承元 DependencyObject)
CoerceValue(DependencyProperty)

指定した依存関係プロパティの値を強制します。 これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。

(継承元 DependencyObject)
CommitCellEdit(FrameworkElement)

編集モードを終了する前に、必要な検証を実行します。

CommitCellEdit(FrameworkElement)

セル編集モードを終了する前に、必要な検証を実行します。

(継承元 DataGridColumn)
Equals(Object)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。

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

列の SelectedItemBindingSelectedValueBinding、および TextBinding の各値にバインドされたコンボ ボックス コントロールを取得します。

GenerateElement(DataGridCell, Object)

列の SelectedItemBindingSelectedValueBinding、および TextBinding の各値にバインドされた読み取り専用のコンボ ボックス コントロールを取得します。

GetCellContent(DataGridRow)

この列と指定された行の交差位置にあるセルの Content プロパティ値を取得します。

(継承元 DataGridColumn)
GetCellContent(Object)

この列と指定されたデータ項目を表す行の交差位置にあるセルの Content プロパティ値を取得します。

(継承元 DataGridColumn)
GetHashCode()

この DependencyObject のハッシュ コードを取得します。

(継承元 DependencyObject)
GetLocalValueEnumerator()

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。

(継承元 DependencyObject)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetValue(DependencyProperty)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。

(継承元 DependencyObject)
InvalidateProperty(DependencyProperty)

指定した依存関係プロパティの有効値を再評価します。

(継承元 DependencyObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
NotifyPropertyChanged(String)

この列を含んでいる DataGrid に、列プロパティが変更されたことを通知します。

(継承元 DataGridColumn)
OnCoerceIsReadOnly(Boolean)

この列を格納する IsReadOnly のプロパティ規則に基づいて DataGrid プロパティの値を決定します。

OnCopyingCellClipboardContent(Object)

CopyingCellClipboardContent イベントを発生させます。

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

PastingCellClipboardContent イベントを発生させます。

(継承元 DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

この DependencyObject の依存関係プロパティの有効値が更新された場合に必ず呼び出されます。 変更された特定の依存関係プロパティは、イベント データで報告されます。

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

DataGrid プロパティが変更されたときに SelectedItemBinding に通知します。

OnSelectedValueBindingChanged(BindingBase, BindingBase)

DataGrid プロパティが変更されたときに SelectedValueBinding に通知します。

OnTextBindingChanged(BindingBase, BindingBase)

DataGrid プロパティが変更されたときに TextBinding に通知します。

PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

列内のセルが編集モードになるとき呼び出されます。

ReadLocalValue(DependencyProperty)

ローカルの依存関係プロパティの値を返します (存在する場合)。

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

バインディングの変更に応じて、列内のセルのコンテンツを更新します。

SetCurrentValue(DependencyProperty, Object)

依存関係プロパティ値のソースを変更せずにその値を設定します。

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

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。

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

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。

(継承元 DependencyObject)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。

(継承元 DispatcherObject)

イベント

CopyingCellClipboardContent

セルのクリップボードの内容が準備された後に発生します。

(継承元 DataGridColumn)
PastingCellClipboardContent

クリップボードの内容がセルに移動される前に発生します。

(継承元 DataGridColumn)

適用対象