2010-08-13 33 views
1

我很想知道當用戶點擊TAB鍵時WPF應該如何設置焦點。大聲思考,我感覺:WPF如何構建可以製表導航的控件列表?

  1. 它可能會在UI上進行相關搜索並根據(x,y)位置找到最近的控件。
  2. 它可以手動走的邏輯子樹,尋找最近的控制

它做每一個TAB鍵被按下的時間呢?

回答

1

WPFWiki來自:

標籤導航移動通過 控制聚焦在一個邏輯序列。

缺省邏輯序列是 控制將從 開始根 控制(窗口,網頁等)的可聚焦第一子集中。從 該點,TabNavigation屬性 被認爲是,在和序列 下一控制或者是當前聚焦 控制或下一個可選擇的兄弟的第一可聚焦 後代。 然後 新集中的控件的TabNavigation屬性被評估,依此類推。

絕大多數情況下,Tab鍵順序(使用上述規則)通常會從XAML文件的頂部到底部。

當然,這可以通過設置KeyboardNavigation附加屬性,如IsTabStop,TabNavigation,TabIndex的等

修改也許不是最技術的答案(我不知道它的實際膽量),但這是一般的想法...

+0

我知道TabNavigation和keyboardNavigation選項。不過,我對WPF如何構建可以從當前控件訪問的一組控件感興趣。它是否在加載時或每次按下TAB鍵時執行一次。我認爲WPF需要考慮幾個屬性來確定遍歷順序中的下一個控件。 我想知道膽子,因爲我正在構建一些東西來增強我們的應用程序中的鍵盤導航。 – pavanpodila 2010-08-14 14:44:11

+0

我希望我能給你更多的信息,但我不知道。我唯一的評論就是要注意太多的「導航增強」 - 用戶喜歡可預測的事情,並且從應用程序到應用程序的行爲方式一致。 – 2010-08-16 19:19:57