ヒットしたときにDataGridから次のコントロールにフォーカスを移動する方法最後の行にを入力します。これはnullです。EnterキーでDataGridからフォーカスを移動WPF MVVMの最後の行を押しますか?
私は、このイベントのあなたのデータグリッドの上キーとしてWPF MVVM
ヒットしたときにDataGridから次のコントロールにフォーカスを移動する方法最後の行にを入力します。これはnullです。EnterキーでDataGridからフォーカスを移動WPF MVVMの最後の行を押しますか?
私は、このイベントのあなたのデータグリッドの上キーとしてWPF MVVM
private void dataGrid1_KeyUp(object sender, KeyEventArgs e)
{
DependencyObject dep = (DependencyObject)e.OriginalSource;
//here we find the Row is selected
//then we check is the row last row
while ((dep != null) && !(dep is DataGridRow) && !(dep is DataGridColumnHeader))
{
dep = VisualTreeHelper.GetParent(dep);
}
if (dep == null)
return;
if (dep is DataGridRow)
{
DataGridRow row= dep as DataGridRow;
//untill here we find the selected row and here we check if it
//the last row our focus go to next control after datagrid
if (row.GetIndex() == dataGrid1.Items.Count - 1)
{
dataGrid1.MoveFocus(new TraversalRequest(FocusNavigationDirection.Down));
dataGrid1.UnselectAll();
}
}
}
セットを使用しています。 System.Windows.Controls.Primitivesを使用してこのrefrenceも使用してください。あなたのウィンドウにDataGridと他のコントロールを置いてください。 最後の行に移動すると、次のコントロールにフォーカスが移ります。私がいつ発生するため、こののお金持ち最後の行であれば(row.GetIndex()== dataGrid1.Items.Count - 1)
あなたがデータグリッドを使用します.IF私は選択モードとしてfullrowselectでデータグリッドを使いますセル選択モードでコメントを残してください。
最初の行に到達すると次のコントロールに移動します。しかし、ここで私が望むのは、最後の行と2番目の列がnullに達したときに次のコントロールに移動したいときです。 –
私はCodeBehindファイルを持っていません..私はDataGridから派生したCustomDataGridを作成しています。 –
私の最後の編集を参照してくださいありがとう –
ユーザーコントロールを作成する場合、データグリッドから派生したユーザーコントロールで問題はありません。xamlコードでデータグリッドを選択することができます。プロパティエクスプローラーイベントの後にそれをダブルクリックしてください...それはあなたのためのイベントを作成しますコード –
私はコードビハインドを使用していないので、それはmvvmです。 –