フォーカスとキーボードのナビゲーションに奇妙な動作が見られます。下の例では、ItemsSourceにバインドされたCheckBoxのリストを表示するように、テンプレート化された単純なItemsControlがあります。 FocusManager.IsFocusScope =「True」を割り当てがキーボードフォーカスをする際のチェックのItemsControlの外にジャンプするマウスクリックを経由して、フォーカスのためのチェックボックスをチェックするときに設定することが失敗する原因となるいくつかの奇妙な理由でシンプルなWPF ItemsControlの奇妙なフォーカス動作
<ItemsControl FocusManager.IsFocusScope="True"
ItemsSource="{Binding ElementName=TheWindow, Path=ListOStrings}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
ボックスのスペースバーを使用してチェックされます。どちらの症状も、チェックボックスをオンにしたときに起きる奇妙なナビゲーションを指しているようですが、その底に苦労しています。
この問題は、このメソッドを使用してビジュアルツリーの上に親要素をフォーカススコープとして設定した場合に発生します。 FocusManager.IsFocusScope = "True"を削除すると問題が解決します。残念ながら、私は他のフォーカス関連の結果を心配することなく、これらのフォーカススコープを削除することができない大きなプロジェクトでこの問題を認識しています。
誰かが私に見ている奇妙な行動を私に説明できますか?これはバグですか、何かが完全に欠けていますか?
+1この問題の説明は、私はちょうどIsEnhancedFocusScopeの実装を追加しました。 –
私がまだ説明していないのは、ボタンとチェックボックスである子どもたちの集まりをフォーカススコープにする別の例を取り上げると、これらのうちの1つをクリックするとチェックボックスItemsControlに表示されるフォーカスの振る舞いが奇妙に失われることはありません。なぜこれはItemsControl内のチェックボックスに影響するように見えますか?ScrollViewer、ItemsPresenter、...と何か関係ありますか? – jpierson