私はUWPでアプリケーションを作成しています。矢印キーを検出する方法が必要です。ウィンドウ内の矢印キーを検出するUWP
"Window.Current.CoreWindow.CharacterReceived"のような他のメソッドが存在することは知っていますが、これは矢印キーを検出しません。いくつかの助けpls?
おかげ
私はUWPでアプリケーションを作成しています。矢印キーを検出する方法が必要です。ウィンドウ内の矢印キーを検出するUWP
"Window.Current.CoreWindow.CharacterReceived"のような他のメソッドが存在することは知っていますが、これは矢印キーを検出しません。いくつかの助けpls?
おかげ
ソリューションは、ビューに依存し、UIは、それが含まれていることを制御します。
基本的に、UI Controlには、キーボードで押された/離されたキーをサブスクライブして制御できるイベントがあります(KeyDownとKeyUp)。あなたは1がそれを持って応じて、どのようビューにフォーカスがあるオブジェクトを追跡する必要が
、イベントハンドラが呼び出されないことがあります。
デフォルトでは、ビジュアルツリー内の最初のフォーカス可能な要素でありますシステムによって のフォーカスが与えられます。個々のコントロールは、ユーザーがのレイアウト上でそのコントロールを直接クリックまたはタップするとフォーカスが得られます。または、コンテンツエリア内のタブシーケンスにステップインするためにタブ キーを使用します。また、Control.Focusを呼び出すことによって、フォーカスコントロールをプログラムで使用することもできます。
例えばので
ウィンドウのKeyDownイベントに登録します
XAML
<Window x:Class="WpfApplication25.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
KeyDown="Window_KeyDown">
</Window>
CS
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_KeyDown(object sender, KeyEventArgs e)
{
// ... Test for F5 key.
if (e.Key == Key.F5)
{
this.Title = "You pressed F5";
}
}
}
sais "現在のコンテキストに名前キーが存在しません"バーチャルキーですが、テキストボックスにフォーカスしている場合はキーを検出するだけです。 – Manueel
http://stackoverflow.com/a/16996731/17034 –
[PreviewKeyDo wn for Windows Store App ListBox](http://stackoverflow.com/questions/16651616/previewkeydown-for-windows-store-app-listbox) – cybermonkey