Спасибо, все заработало! Единственная проблема была в том, что я пишу на VB, а не на C #, но основная идея верна. Аккуратно, чтобы создать ярлык из воздуха и использовать его, чтобы вставить себя в поток событий.
Если кто-то еще заинтересован в том же решении, но в VB для WPF, вот моя тестовая программа, она может отбросить все набранные символы «a», независимо от того, какой элемент управления имеет фокус:
Class MainWindow
Dim WithEvents labelFromThinAir As Label
Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
AddHandler MainWindow.PreviewKeyDown, AddressOf labelFromThinAir_PreviewKeyDown
End Sub
Private Sub labelFromThinAir_PreviewKeyDown(ByVal sender As Object, ByVal e As KeyEventArgs)
TextBox1.Text = e.Key ' watch 'em coming
If (44 = e.Key) Then e.Handled = True
End Sub
End Class
P.S. Это был мой первый пост на stackoverflow, действительно полезный сайт. Возможно, позже я смогу ответить на некоторые вопросы здесь: -)