У меня есть datagrid wpf с 2 столбцами (ProductID и Description). Столбец ProductID - это combobox, а описание - текстовое поле. В событии SelectionChanged для ProductID я хочу присвоить значение столбцу Description. Мне нужно знать, как назначить значение текстовому полю Description для строки combobox, которая вызвала событие SelectionChanged. Может ли кто-нибудь предоставить образец кода? Это кажется таким простым, но я не могу найти ответа. БлагодарностиКак присвоить значение ячейке datagrid wpf
0
A
ответ
0
Лучший способ сделать это с помощью Binding к свойствам, как
private ProductIdEnum m_productId;
public ProductIdEnum ProductId
{
get
{
return m_productId;
}
set
{
m_productId = value;
// Value changed...
}
}
Чтобы добавить EventHandler для события SelectionChanged в ComboBox вы могли бы сделать это, но я бы не рекомендовал его.
<DataGridComboBoxColumn Header="ProductID"
...">
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="{x:Type ComboBox}">
<EventSetter Event="SelectionChanged" Handler="ProductIdChanged" />
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
А в коде позади
public T GetVisualParent<T>(object childObject) where T : Visual
{
DependencyObject child = childObject as DependencyObject;
while ((child != null) && !(child is T))
{
child = VisualTreeHelper.GetParent(child);
}
return child as T;
}
void ProductIdChanged(object sender, SelectionChangedEventArgs e)
{
ComboBox comboBox = sender as ComboBox;
DataGridRow dataGridRow = GetVisualParent<DataGridRow>(comboBox);
SomeClass myClass = dataGridRow.Item as SomeClass;
// Set description
}
0
Использование связывания данных, имеют структуру, как,
Inventory: ObservableCollection ProductID Строка Описание
Bind ObservableCollection к вашему DataGrid. В ViewModel обработайте свойство ProductID и измените его, как вы хотите.
Вы должны прочитать о шаблоне MVVM, см. http://msdn.microsoft.com/en-us/magazine/dd419663.aspx.
Смежные вопросы
- 1. WPF DataGrid, преобразуя значение в ячейке
- 2. ComboBox в ячейке DataGrid в WPF MVVM
- 3. установленное значение в ячейке в DataGrid в WPF в C#
- 4. Многоцветный текст в ячейке DataGrid WPF
- 5. datagrid в ячейке datagrid
- 6. Можно ли присвоить значение определенной ячейке памяти?
- 7. WPF Datagrid читает значение ячейки
- 8. Измените значение в ячейке в datagrid (привязка)
- 9. Как сохранить пользовательский объект в ячейке WPF DataGrid?
- 10. Как получить выбранное значение ячейки в DataGrid SelectedCellsChanged в wpf?
- 11. Доступ к ячейке DataGrid в файле CodeBehind WPF
- 12. WPF: как передать значение datagrid ячейки в textBox после редактирования
- 13. WPF DataGrid - нажатие кнопки в ячейке с клавиатурой
- 14. WPF DataGrid - привязка данных к ячейке DataTable в CellTemplates DataTemplate
- 15. WPF DataGrid: как определить текущий индекс строки?
- 16. WPF DataGrid с различным UserControl в каждой ячейке
- 17. Как прочитать значение в первой ячейке в выбранной строке Datagrid?
- 18. Bind WPF DataGrid Заголовок столбца текста в ячейке Значения
- 19. Хотите, чтобы пользовательское контекстное меню в ячейке datagrid WPF
- 20. Динамическое добавление Combobox в ячейке Datagrid в WPF
- 21. Изменение изображения кнопки в ячейке datagrid при ее нажатии - wpf
- 22. wpf Datagrid: Combobox Интеграция в wpf datagrid
- 23. Как обновить DataGrid WPF
- 24. Как обновить WPF DataGrid?
- 25. WPF DataGrid значок и логическое значение
- 26. WPF Toolkit DataGrid SelectionChanged Значение ячейки ячейки
- 27. Значение обновления данных DataGrid в WPF
- 28. WPF DataGrid передать значение из ComboBox SelectionChanged
- 29. Получить значение из ячейки DataGrid (WPF)
- 30. Wpf Cross-Thread не показывает значение DataGrid
Спасибо! Это сработает. Что делать, если у меня есть TextBox в DataGrid, который не связан с объектом класса? Это просто для отображения цели, и я хочу отобразить значение. – Seecott