2010-06-07 2 views
0

DataGrid 요소 내에서 바인딩 할 WPF DataGrid 콤보 박스를 얻는 방법.WPF Datagrid Combobox가 데이터 격자 내에서 서로 바인딩

예 : 나는 인물 => 이름, 나이 및 성별의 컬렉션이 있습니다.

  • 푸 18, 남성
  • 어흥, 21, 남성
  • FooBoo, 30, 여성

지금 데이터 격자 안에 난 이름의 컬렉션 콤보 (DataGridComboBoxColumn)가 (Foo, Boo, FooBoo) ItemsSoure와 두 개의 DataGridTextBoxColumn. Datagrid는 ObservableCollection 또는 DataTable에 바인드됩니다. 이제 사용자가 이름을 선택할 때. 나이와 성별은 두 개의 DataGridTextBoxColumn에 표시되고 바인딩되며 DataTable에 추가됩니다.

감사합니다. 그것을 필요로하는 다른 것 (그리고 ItemsSource에 대한 올바른 바인딩)와 함께

<ComboBox Name="PeopleCombo" ItemsSource="{Binding ...}" DisplayMemberPath="Name" /> 

:

답변

0

먼저, ComboBox 요구 같은 것을 정의한다. 이 방법은 Person 클래스 전체를 "포함"하지만 이름 만 표시합니다.
지금, 당신은 그냥하지만, 당신은 DataTable을 소스에 추가로까지 원하는 것을 이해하지

<TextBox Text="{Binding ElementName=PeopleCombo, Path=SelectedItem.Sex}" /> 

처럼 TextBox ES를 정의 할 수 있습니다.

또한 "SelectedPerson"속성이있는 ViewModel 클래스가있는 MVVM 패턴을 사용하면 훨씬 쉽습니다.

+0

답변 해 주셔서 감사합니다. 하지만 당신이 Datagrid에서 말한 것과 같은 것을 창안이 아니라 찾고 있습니다. – aalhamad

관련 문제