我有Page
包含一些控件,此頁面將被加載到ContentControl
的Window
中。如何將焦點限制在WPF中的控件
現在,如何限制我的Page
的焦點週期?在我的頁面的最後一項中按TAB後,我不想將焦點傳遞給Page
。
作爲一個短暫的,我怎樣才能確定下一步的重點控制,改變它
我有Page
包含一些控件,此頁面將被加載到ContentControl
的Window
中。如何將焦點限制在WPF中的控件
現在,如何限制我的Page
的焦點週期?在我的頁面的最後一項中按TAB後,我不想將焦點傳遞給Page
。
作爲一個短暫的,我怎樣才能確定下一步的重點控制,改變它
它總是很難完全瞭解一個問題筆者想要什麼時,他們也懶得爲您提供多了幾個匆忙打字的線條。不過,據我瞭解你的問題,似乎你有一些關注WPF應用程序的問題。
首先要做的是引導您到MSDN上的Focus Overview頁面,在這裏您可以找到WPF中使用的不同焦點類型。特別是,請注意以編程方式導航焦點部分,其中討論TraversalRequest
Class可幫助開發人員以編程方式移動焦點。
您還應該注意KeyboardNavigation部分討論KeyboardNavigation
Class。此類包含一些屬性,使您能夠定義在各種情況下密鑰的工作方式,因此這可能是您所追求的內容。它是這樣使用(從MSDN上的最後一個鏈接頁面):
KeyboardNavigation.SetTabNavigation(navigationMenu, KeyboardNavigationMode.Cycle);
以供將來參考,您將獲得更快,更準確的答案,如果你提供清晰的問題,其中包括您的所有需求當時張貼。
我可以說一個真正的感謝!這就是我一直在尋找的。 也許如果我寫了「Cycle」,很容易回答。不過非常感謝。 – 2014-09-01 11:44:05
您是否嘗試過查看FocusLost事件 - 您可能可以使用事件處理程序重新調整頁面控件的焦點。
private void Page_LostFocus(object sender, System.Windows.RoutedEventArgs e)
{
((UIElement)sender).Focus();
}
是的,但它不起作用。 – 2014-09-01 11:48:02
無論如何,看起來你現在已經有了一個可行的答案。 – kidshaw 2014-09-01 11:49:47
*你*試過了什麼? – Sheridan 2014-09-01 10:43:41
啊,一個巨大的答案是一個小問題。 作爲示例: 1.對於除「頁面」之外的所有其他控件,將「Focusable」設置爲false,但它不專注於「Page」本身。因爲它包含在Window中。 2.動態改變'Page'中所有其他控件的'TabIndex'。它不起作用,因爲TabIndex無論如何都有一個值! 3.如此多,但我沒有流利的英語來形容他們。 – 2014-09-01 11:01:27
我可以通過問這個問題來完成我的問題: 我如何確定下一個控件集中在代碼後面? – 2014-09-01 11:02:23