2012-06-06 2 views
11

私は、アプリケーション内でタブを合わせたときにフォーカスを取得し続けるスタックパネルを持っています。スタックパネルのタブストップを無効にする方法

スヌープを使用すると、スタックパネルにContentPresenterを持つContentControlがあることがわかります。フォーカスを取得するのはContentControlです。どうすればこの機能を無効にできますか?そして、なぜこのデフォルトの動作ですか?あなたが

KeyboardNavigation.IsTabStop="False" 

またはその代わりに、それをリセットすることができ、いくつかのリソースによって上書きされている場合

+0

'StackPanel'はフォーカスを取得できないようにしなければなりません。' Focusable = true 'を設定しないと、アイテムがタブストップを受け取らないようにするために、 "True"(デフォルトは 'False')です。この 'StackPanel'は' Window'/'UserControl'、' ItemsControl'のどこにありますか? –

+0

ContentControlで 'Focusable =" False "を設定するとどうなりますか? – Tyrsius

答えて

17

これは、デフォルトの動作ではありません...

FocusManager.IsFocusScope="False" 
+6

これら2つのアプローチの違いは何ですか? –

7

は、Aと同様の問題を持っていましたStackPanelをコンテナとして使用していたDataTemplate。次に、DataTemplateがListBox項目に使用されました。

KeyboardNavigation.TabNavigation="None" 
+0

私のためにうまく動作します! – psulek

+0

またはコードの背後にある: 'KeyboardNavigation.SetTabNavigation(control、KeyboardNavigationMode.None);' – Pollitzer

+0

UWPでどうやってやっていますか? 「サポートされていない」と言います – Nilzor

関連する問題