按钮没有得到焦点

时间:2013-06-01 18:10:43

标签: wpf vb.net focus

我有一个文本框,一个DataGrid和一个按钮。

当文本框获得焦点时,DataGrid是可见的。 用户在文本框中写入一些文本,并选择DataGrid的第一列中的匹配文本。

当用户按下回车键时,所选行的第一列的值将传输到文本框,然后DataGrid将隐藏,文本框下方的按钮将获得焦点。这是代码:

If e.Key = Key.Return Then
    Dim ue As FrameworkElement = e.OriginalSource
    txt.Text = DataGrid1.SelectedItem(0).ToString
    ue.MoveFocus(New TraversalRequest(FocusNavigationDirection.Next))
End If

本规范正常。当用户按下Ctrl + Down_Arrow时,我想要相同的行为。

这是执行此操作的代码,但它不起作用。我的意思是它选择Selected Row的First Column的Value并将其传递给TextBox。但它不会将焦点转移到按钮上。我的意思是文本框没有松散焦点。

If (Keyboard.IsKeyDown(Key.LeftCtrl) = True Or Keyboard.IsKeyDown(Key.RightCtrl) = True) And e.Key = Key.Down Then
    Dim ue As FrameworkElement = e.OriginalSource
    txt.Text = DataGrid1.SelectedItem(0).ToString
    ue.MoveFocus(New TraversalRequest(FocusNavigationDirection.Down))
End If

我在上面的代码中尝试过Next而不是Down,但它不起作用。

0 个答案:

没有答案