Estoy usando la cuadrícula de datos WPF de Microsoft. He notado un comportamiento extraño con la cuadrícula de datos de WPF DataGridTemplateColumn. Cuando utiliza la plantillaColumna en la cuadrícula y la columna de la plantilla contiene algunos controles al tabular de la columna anterior, el foco no se asigna automáticamente al primer elemento declarado en la columna de la plantilla. Las foucs se establecen inicialmente en el borde de la columna de la plantilla y cuando tabulamos una vez el foco se dirige a la primera columna. Cualquier solución para este problema. ¿Cómo puedo establecer el foco para ir al primer elemento en la columna de la plantilla de la cuadrícula de datos cuando desactivo?WPF Datagrid -DataGridTemplateColumn tema de foco de tabulación
Respuesta
He encontrado un enlace en WPF DataGrid discusiones CodePlex http://www.codeplex.com/wpf/Thread/View.aspx?ThreadId=35540
Gracias a Vincent sibal
Me deshice de este problema mediante la manipulación PrepareCellForEdit caso de la red. Aquí está el código
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);
}
}
¿Qué es HODataGridHelper? Intenté usar este código en un proyecto .NET 4, pero no tengo idea de qué es HODataGridHelper, y no puedo encontrar una función GetVisualChild aplicable en ningún otro lado. – Pete
Pete, esa era una clase personalizada que creamos. Lo siento, no tengo acceso a ese pedazo de código ahora. Es una variante del método GetVisualChild de framework: http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.getvisualchild.aspx – Gopinath
Muchas gracias. Arrastré durante horas para encontrar esto. – Echilon
Hay una solución que utiliza una clase estática y un cambio en el Xaml para el control que desea enfocar. "WPF DataGrid: Tabbing from cell to cell does not set focus on control"
Hemos resuelto este problema mediante la modificación del estilo de DataGridCell:
<Style x:Key="DataGridCellStyle" TargetType="{x:Type DataGridCell}">
<Setter Property="IsTabStop" Value="False"/>
Funciona perfectamente. ¡Gracias! – dontbyteme
- 1. WPF datagrid y la tecla de tabulación
- 2. ¿Cómo puedo ordenar un DataGridTemplateColumn en un WPF Toolkit DataGrid?
- 3. WPF DataGridTemplateColumn. ¿Me estoy perdiendo de algo?
- 4. WPF DataGrid AutoSize Issue
- 5. WPF DataGridTemplateColumn plantilla compartida?
- 6. Actualice WPF DataGrid sin perder el foco de celda
- 7. Cómo reutilizar WPF DataGridTemplateColumn (incluida la vinculación)
- 8. Mover el foco a la primera columna de la nueva fila en DataGrid (WPF)
- 9. WPF - Cómo enlazar un DataGridTemplateColumn
- 10. ¿Existe el tema Dark Expression para WPF DataGrid?
- 11. WPF Datagrid Performance
- 12. ¿Es esto un error de WPF Datagrid?
- 13. Tema de Windows 7 para WPF?
- 14. Estilo WPF DataGrid-Silverlight DataGrid?
- 15. WPF DataGrid dimensionar el contenido de una columna de plantilla
- 16. WPF DataGridTemplateColumn IsSelected ForgroundColor no funciona como se esperaba
- 17. Cómo configurar el estilo de encabezado de DataGrid en WPF
- 18. Cómo implementar DataGridComboBoxColumn editable en WPF DataGrid
- 19. WPF: copia de un DataGrid
- 20. Número de fila WPF Datagrid
- 21. WPF DataGrid Plantilla de control
- 22. Ficha DataGrid columna de omisión de navegación
- 23. WPF DataGrid Columna Ancho
- 24. WPF ToolKit DataGrid Performance
- 25. WPF datagrid con MVVM
- 26. WPF DataGrid pegar
- 27. WPF DataGrid Good Tutorials?
- 28. Wpf DataGrid problema
- 29. WPF DataGrid SelectedItem
- 30. Navegación con la tecla de tabulación WPF
Algunas otras respuestas se pueden encontrar en esta pregunta: http://stackoverflow.com/questions/1104164/wpf-datagridtemplatecolumn- am-i-missing-something – Neil