|
そのNavigationWindowの中で、物理フォーカスはどこにあたっていますか? 調べ方としては、NavigationWindowのPreviewKeyDownイベントで、e.Sourceを確認します。
もしNavigationWindow自身が物理フォーカスを持っているのであれば、当然ながらPage等へはキー入力イベントは伝達されません。 特に、Page内部にフォーカスを持てる要素(TextBoxとか、Buttonとか、ScrollViewerとか)が存在しない場合、ユーザ操作のみではフォーカスの当てようがないでしょう。
この状況でPageにキー入力を通知したいのであれば、一つの方法として、 1. IKeyInputインターフェイスを定義し、KeyDown(KeyEventArgs)メソッドを定義する 2. キーを受け取りたいPageクラスに、上記インターフェイスを実装する 3. NavigationWindowのPreviewKeyDownイベントで、 ContentプロパティをIKeyInputにキャストできる場合、そのKeyDownメソッドを呼び出す といったやり方を思いつきます。
|