テレビを制御する UWP アプリがあります。いくつかのボタン、チェックボックスなど、およびキーボード コントロール/イベントがあります。この組み合わせは問題を引き起こします。チェックボックスをオンにしてからVirtualKey.Subtractを押すと、チェックボックスがオフになり、キーボードから変更したくありません。e.Handled の使用は機能していないようです。
UWP アプリで既定のキーボード ナビゲーション動作またはキーボード フォーカスを無効にするにはどうすればよいですか?
private async void Page_Loaded(object sender, RoutedEventArgs e)
{
Window.Current.CoreWindow.KeyDown += KeyEventHandler;
Window.Current.CoreWindow.KeyUp += KeyEventHandlerDevNull;
}
private void KeyEventHandlerDevNull(CoreWindow sender, KeyEventArgs e)
{
e.Handled = true;
}
private async void KeyEventHandler(CoreWindow sender, KeyEventArgs e)
{
e.Handled = true; //gets unset in case of default
if (MainViewModel.ControlsEnabled)
{
switch (e.VirtualKey)
{
case VirtualKey.Left:
await ButtonPressLeft();
break;
case VirtualKey.Right:
await ButtonPressRight();
break;
default:
e.Handled = false;
break;
}
}
}
この質問が重複している可能性がある場合は申し訳ありませんが、UWP (ユニバーサル Windows プラットフォーム) では異なると思います。