我在我的wpf應用程序中遇到鍵盤導航問題。 簡體中文我有一個水平的堆疊面板,菜單項列表佔用了屏幕寬度的四分之一。wpf鍵盤導航行爲
正下方,我有一個內容控件,佔用整個屏幕的寬度。
內容控件將根據突出顯示的菜單項更改加載的用戶控件。所有的用戶控件中的
<Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" />
<Grid Grid.Column="1" />
</Grid>
</Grid>
形式設置的問題是,當我按向下鍵從StackPanel中它試圖給出聚焦到正下方的內網格列。第一列包含可調焦項目,但第二列不包含可調焦項目。 這適用於堆棧面板中第一列直接位於第一列上方的第一對菜單項,但最終我得到的菜單項直接位於第二列,此時我無法向下導航。
我添加了上述xaml中顯示的外部網格,但這沒有幫助。爲什麼焦點不會移動到網格(或內部網格)中可用的第一個可聚焦元素,以及如何將焦點強制到第1列?
我想我可以在我的viewmodel中做到這一點,但我有相當數量的頁面都遭受類似的問題,所以希望有一個更簡單的解決方案,而不是完全重寫和控制所有的鍵盤導航。
任何幫助將不勝感激。
更新:如果我在第一個網格上將可聚焦設置爲true,則導航工作並最終在第1列中顯示,但顯然第一次按下按鍵「出現」時不執行任何操作,因爲焦點正在給予網格。我想類似的行爲,但對於導航跳轉電網直入列1.