다음을 통해 공유


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를 보여줍니다.

DataGridComboBoxColumn

드롭다운 목록을 채웁니다. 먼저 다음 옵션 중 하나를 사용하여 의 ComboBox 속성을 설정합니다ItemsSource.

ItemsSource 설정되면 에서 ComboBox 선택한 항목을 셀이 있는 행의 데이터 항목에 바인딩합니다. 다음 속성 중 하나를 사용하여 바인딩을 설정할 수 있습니다.

속성 설명
TextBinding 현재 선택한 항목에 대한 텍스트의 바인딩 경로를 설정합니다.
SelectedItemBinding 현재 선택된 개체의 바인딩 경로를 설정합니다.
SelectedValueBinding 바인딩 경로를 속성에 지정된 선택한 항목의 값으로 SelectedValuePath 설정합니다.

속성이 로 IsReadOnly 설정 true되면 사용자는 열을 편집할 수 없으며 드롭다운 목록을 볼 수 없습니다.

다른 유형의 데이터를 표시 하려는 경우 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 이 instance 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)

열의 SelectedItemBinding, SelectedValueBindingTextBinding 값에 바인딩된 콤보 상자 컨트롤을 가져옵니다.

GenerateElement(DataGridCell, Object)

열의 SelectedItemBinding, SelectedValueBindingTextBinding 값에 바인딩된 읽기 전용 콤보 상자 컨트롤을 가져옵니다.

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)

serialization 프로세스에서 지정된 종속성 속성의 값을 직렬화해야 하는지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
VerifyAccess()

호출 스레드에서 이 DispatcherObject에 액세스할 수 있는지 확인합니다.

(다음에서 상속됨 DispatcherObject)

이벤트

CopyingCellClipboardContent

셀 클립보드 내용이 준비된 후에 발생합니다.

(다음에서 상속됨 DataGridColumn)
PastingCellClipboardContent

클립보드 내용이 셀로 이동하기 전에 발생합니다.

(다음에서 상속됨 DataGridColumn)

적용 대상