###Xamarin.UWPでウィンドウ全体に対するキーボード操作を行いたいです。
Xamarinを使用し、UWPのデスクトップアプリを作成しようとしています。
デスクトップのメーラーやRSSリーダーのように、左にリストがあり右に詳細画面がある形を想定しています。
この画面上で j,k などのキーを押下することで左のリストの選択アイテムを移動し詳細画面の切り替えを行いたいと考えています。
このとき、Xamarin.UWP 上にてキーボード操作を実現する方法がわからないためご教示願います。
###発生している問題・エラーメッセージ
下記のページを参考に実装をしてみましたが、Controlがnullのままになってしまい動作しません。
How can i detect key events in xamarin.forms?
###該当のソースコード
C#:CustomPageRenderer
1[assembly: ExportRenderer(typeof(CustomPage), typeof(CustomPageRenderer))] 2namespace ShortcutTest.UWP { 3 public class CustomPageRenderer : PageRenderer 4 { 5 protected override void OnElementChanged(ElementChangedEventArgs<Page> e) 6 { 7 base.OnElementChanged(e); 8 9 // ここがnullになっており下の処理にいかない 10 if (Control == null) 11 return; 12 13 if (e.OldElement != null) 14 { 15 Control.KeyDown -= Control_KeyDown; 16 } 17 18 if (e.NewElement != null) 19 { 20 Control.KeyDown += Control_KeyDown; 21 } 22 } 23 } 24}
###試したこと
Pageに対してEffectを設定して、Control.KeyDownも設定してみましたが動作しませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
- Visual Studio 2017 (15.3.1)
- Xamarin.Forms 2.3.5.256-pre6
- Windows 10
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。