WPF Datagrid -DataGridTemplateColumn tab для проблемы с фокусом - PullRequest
17 голосов
/ 14 апреля 2009

Я использую сетку данных Microsoft WPF. Я заметил странное поведение с сеткой данных WPF DataGridTemplateColumn. Когда вы используете templateColumn в сетке, а столбец шаблона содержит некоторые элементы управления, когда вы переходите из предыдущего столбца, фокус автоматически не отдается первому элементу, объявленному в столбце шаблона. Параметры foucs изначально устанавливаются на границе столбца шаблона, и когда мы снова вкладываем вкладку, фокус переходит к первому столбцу. Любое решение этой проблемы. Как я могу установить фокус, чтобы перейти к первому элементу в столбце шаблона сетки данных, когда я отключился.

Ответы [ 4 ]

7 голосов
/ 08 ноября 2013

Мы решили эту проблему, изменив стиль в DataGridCell:

<Style x:Key="DataGridCellStyle" TargetType="{x:Type DataGridCell}">
    <Setter Property="IsTabStop" Value="False"/>
7 голосов
/ 14 мая 2010

Я избавился от этой проблемы, обработав событие 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);
      }
}
2 голосов
/ 27 мая 2010

Существует решение, использующее статический класс и одно изменение Xaml для элемента управления, который вы хотите сфокусировать. " WPF DataGrid: вкладка из ячейки в ячейку не устанавливает фокус на элемент управления "

1 голос
/ 14 апреля 2009

Я обнаружил ссылку в обсуждениях кодового комплекса WPF datagrid http://www.codeplex.com/wpf/Thread/View.aspx?ThreadId=35540

Благодаря Винсенту Сибалу

...