Microsoft WPF データグリッドを使用しています。WPF データグリッド DataGridTemplateColumn の奇妙な動作に気付きました。グリッドで templateColumn を使用し、テンプレート列にいくつかのコントロールが含まれている場合、前の列からタブ移動すると、テンプレート列で宣言された最初の要素にフォーカスが自動的に移動しません。フォーカスは最初にテンプレート列の境界線に設定されており、一度タブを押すとフォーカスが最初の列に移動します。この問題の回避策。タブをオフにしたときに、データグリッドのテンプレート列の最初の要素に移動するようにフォーカスを設定するにはどうすればよいですか。
質問する
10938 次
4 に答える
12
DataGridCell のスタイルを変更することで、この問題を解決しました。
<Style x:Key="DataGridCellStyle" TargetType="{x:Type DataGridCell}">
<Setter Property="IsTabStop" Value="False"/>
于 2013-11-08T15:34:50.243 に答える
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);
}
}
于 2010-05-14T15:42:38.573 に答える
2
静的クラスを使用するソリューションと、フォーカスするコントロールの Xaml への 1 つの変更があります。" WPF DataGrid: セルからセルへのタブ移動は、コントロールにフォーカスを設定しません"
于 2010-05-27T17:09:53.110 に答える
1
WPFデータグリッドコードプレックスのディスカッションでリンクを見つけました http://www.codeplex.com/wpf/Thread/View.aspx?ThreadId=35540
vincentsibalに感謝します
于 2009-04-14T02:31:14.277 に答える