WPF Datagrid -DataGridTemplateColumn选项卡焦点问题

18 wpf datagrid datagridtemplatecolumn

我正在使用Microsoft WPF数据网格.我注意到WPF datagrid DataGridTemplateColumn有一个奇怪的行为.当您在网格中使用templateColumn并且当您从上一列中进行选项卡时,模板列包含一些控件时,焦点不会自动赋予模板列中声明的第一个元素.最初设置在模板列的边框上,当我们选择agin时,焦点将转到第一列.此问题的任何解决方法.当我关闭时,如何设置焦点以转到datagrid的模板列中的第一个元素.

pat*_*ley 8

我们通过修改DataGridCell上的样式解决了这个问题:

<Style x:Key="DataGridCellStyle" TargetType="{x:Type DataGridCell}">
    <Setter Property="IsTabStop" Value="False"/>
Run Code Online (Sandbox Code Playgroud)


Gop*_*ath 7

我通过处理网格的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);
      }
}
Run Code Online (Sandbox Code Playgroud)


小智 1

我在 WPF datagrid codeplex 讨论中找到了一个链接 http://www.codeplex.com/wpf/Thread/View.aspx?ThreadId=35540

感谢文森特·西巴尔