2010-06-07 2 views
0

Как получить поле со списком данных WPF для привязки в элементах datagrid.WPF Datagrid Combobox, связывающий друг с другом в datagrid

Например: У меня есть коллекция People => Имя, возраст и пол.

  • Foo, 18, Male
  • Boo, 21, Мужчина
  • FooBoo, 30, Женский

Теперь внутри DataGrid У меня есть выпадающий (DataGridComboBoxColumn) с коллекцией имен только (Foo, Boo, FooBoo) ItemsSoure и два DataGridTextBoxColumn. Datagrid привязан к ObservableCollection или DataTable. Теперь, когда пользователь выбирает имя. Возраст и секс показывают (связывание) в двух DataGridTextBoxColumn и добавляются в DataTable.

спасибо.

ответ

0

Во-первых, ваши ComboBox нужно определить что-то вроде:

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

вместе с чем-то, что ему нужно (и правильный привязки для ItemsSource). Таким образом, он «содержит» весь класс Person, но отображает только имя.
Теперь вы можете просто определить свои TextBox эс как

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

Я не понимаю, что вы хотите, насколько это добавление его в DataTable источника, хотя.

Кроме того, это может быть намного проще с шаблоном MVVM, где у вас есть класс ViewModel с свойством «SelectedPerson».

+0

Спасибо за ваш ответ. Но я ищу, чтобы иметь то же, что вы сказали в Datagrid, но не в окне. – aalhamad

Смежные вопросы