Я использую Microsoft WPF datagrid. Я заметил странное поведение с WPF datagrid DataGridTemplateColumn. Когда вы используете шаблонColumn в сетке, а столбец шаблона содержит некоторые элементы управления, когда вы вставляете вкладку из предыдущего столбца, фокус автоматически не присваивается первому элементу, объявленному в столбце шаблона. Foucs инициализируется на границе столбца шаблона, и когда мы вставляем один раз, акцент переходит в первый столбец. Любой обходной путь для этой проблемы. Как я могу настроить фокус, чтобы перейти к первому элементу столбца шаблона файла данных, когда я убираю его.WPF Datagrid -DataGridTemplateColumn tab focus issue
ответ
я обнаружил ссылку в WPF DataGrid Codeplex обсуждения http://www.codeplex.com/wpf/Thread/View.aspx?ThreadId=35540
Благодаря винсентскому Сибалу
Я избавилась от этой проблемы путем обработки PrepareCellForEdit события сетки. Вот код
void HODataGrid_PreparingCellForEdit(object sender, DataGridPreparingCellForEditEventArgs e)
{
UIElement inputElement;
///
/// Texbox is the first control in my template column
///
inputElement = HODataGridHelper.GetVisualChild<TextBox>(e.EditingElement);
if (inputElement != null)
{
Keyboard.Focus(inputElement);
}
}
Что такое HODataGridHelper? Я попытался использовать этот код в проекте .NET 4, но он не знает, что такое HODataGridHelper, и я не могу найти применимую функцию GetVisualChild в другом месте. – Pete
Пит, это был особый класс, который мы создали. Извините, я не имею доступа к этому фрагменту кода. Это вариант метода GetVisualChild для платформы: http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.getvisualchild.aspx – Gopinath
Большое вам спасибо. Я много часов тратил, чтобы найти это. – Echilon
Существует решение, использующее статический класс и одно изменение для Xaml для управления, которое вы хотите сфокусировать. «WPF DataGrid: Tabbing from cell to cell does not set focus on control»
Мы решили эту проблему, изменив стиль на DataGridCell:
<Style x:Key="DataGridCellStyle" TargetType="{x:Type DataGridCell}">
<Setter Property="IsTabStop" Value="False"/>
Работает отлично. Благодаря! – dontbyteme
- 1. wpf datagrid: disable datagridtemplatecolumn
- 2. WPF DataGrid DataGridTemplateColumn ComboBox ItemSource
- 3. wpf textbox focus issue
- 4. WPF и touch - focus issue
- 5. Программно создайте WPF DataGridTemplateColumn для DataGrid
- 6. WPF DataGrid CancelEdit from внутри DataGridTemplateColumn
- 7. Обзор кнопки в DataGridTemplateColumn Datagrid в WPF
- 8. WPF DataGrid - связывание элементов управления разных DataGridTemplateColumn
- 9. WPF DataGrid RowValidation Issue
- 10. Bizarre WPF DataGrid issue
- 11. WPF Datagrid zoom issue
- 12. Win7 WPF Alt + Tab Focus Oddity
- 13. Общий шаблон WPF DataGridTemplateColumn?
- 14. C# wpf focus on cell datagrid
- 15. wpf datagrid focus on the selectemItem
- 16. Сортировка Datagrid с DataGridTemplateColumn
- 17. DataGrid и DataGridTemplateColumn
- 18. DataGrid DataGridTemplateColumn ComboBox
- 19. wpf datagrid single click edit с DataGridTemplateColumn не работает
- 20. DataGrid Focus и SelectedIndex?
- 21. .Net Framework 4 WPF DataGrid Resize issue
- 22. Keyboard focus to DataGrid
- 23. WPF Datagrid Browse Button Issue
- 24. WPF Datagrid edit cell issue
- 25. WPF Datagrid Column Width Issue
- 26. WPF DatagridTemplateColumn удалить пограничное пространство
- 27. WPF DataGridTemplateColumn. Я что-то упускаю?
- 28. wpf RowDetailsTemplate focus
- 29. WPF Focus Navigation Wrapping
- 30. Как использовать WPF Toolkit Datagrid DataGridTemplateColumn и combobox?
Некоторые другие ответы можно найти на этот вопрос: http://stackoverflow.com/questions/1104164/wpf-datagridtemplatecolumn- am-i-missing-something – Neil