0
在WPF中,如果按下鍵盤的右側或左側方向,就可以觸發事件,現在問題是哪個控件具有焦點?在WPF中,如何檢測任何點的按鍵/按下事件
無論形式中的哪個地方有焦點或他們在做什麼,我都需要發生一些事情,如果右或左擊中。
是否有必要追查每個鍵盤通知(KeyDown和KeyUp事件)?
編輯:
欲瞭解更多信息,我有一個滑塊,我需要通過左右鍵在任何時候控制。我還有一個需要打開的組合框。我嘗試使用這個代碼,但它阻止我從使用ComboBox:
Private Sub sldDays_IsKeyboardFocusedChanged(sender As Object, e As System.Windows.DependencyPropertyChangedEventArgs) Handles sldDays.IsKeyboardFocusedChanged
Keyboard.Focus(sldDays)
End Sub
編輯2:
如果有人在這跌倒在未來,我想我解決我的問題:
我把這個方法PreviewKeyDown事件(這使得它總是先去爲重點,下)
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
PreviewKeyDown="sliderKey"
那麼這是事件:
Private Sub sliderKey(sender As System.Object, e As KeyEventArgs)
Try
If e.Key = Key.Right Then
sldDays.Value += 1
ElseIf e.Key = Key.Left Then
sldDays.Value -= 1
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
http://stackoverflow.com/questions/1752494/detect-if-any-key-is-pressed-in-c-sharp-not-ab-but-any 看這個答案 –
這不能解決我的問題,因爲我確實有窗體上的控件,可以有關鍵事件和類似的東西。我需要不管哪個控件將焦點集中到被攔截。 – Loogawa