wpfアプリケーションのキーボードナビゲーションに問題があります。 簡体字私は、画面の幅の約四分の一を占めるメニュー項目のリストを持つ水平スタックパネルを持っています。wpfキーボードのナビゲーション動作
私は画面全体の幅をとるコンテンツコントロールを直接使用しています。
コンテンツコントロールは、強調表示されたメニュー項目に基づいて、読み込まれたユーザーコントロールを変更します。すべてのユーザーコントロールは
<Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" />
<Grid Grid.Column="1" />
</Grid>
</Grid>
の形で設定されている問題は、私はのStackPanelからダウンキーを押したときに、それが直接その下にインナーグリッド列にフォーカスを与えることを試みることです。最初の列にはフォーカス可能な項目が含まれていますが、2番目の列にはフォーカスできません。 これは、最初の列のすぐ上にあるスタックパネルの最初の2つのメニュー項目でうまく動作しますが、最終的に2番目の列の直上にあるメニュー項目に到達します。この時点では、ナビゲートできません。
上記のxamlに示すように外側グリッドを追加しましたが、これは役に立たなかったです。グリッド(または内側のグリッド)で使用可能な最初のフォーカス可能な要素にフォーカスが移動しないと、どのようにして1列にフォーカスを置くことができますか?
私はviewmodelでこれを行うことができますが、同様の問題を抱えている多数のページがありますので、すべてのキーボードナビゲーションを完全に書き換えて制御するよりも簡単な解決策が望まれます。
ご協力いただければ幸いです。
更新:最初のグリッドでfocuasableをtrueに設定した場合、ナビゲーションは機能して1桁目になりますが、明らかにグリッドにフォーカスが置かれている間は何もしないようにするために、私は同様の動作が必要ですが、ナビゲーションがグリッドを1列目にまっすぐジャンプさせる必要があります。