Это будет работать так, как вы ожидаете, что сфокусированная область будет работать.
у странное поведение, когда дело доходит до фокуса и клавиатурной навигации. В приведенном ниже примере у меня есть простой ItemsControl, который был спроектирован так, чтобы он представлял список CheckBoxes, связанных с ItemsSource.
<ItemsControl FocusManager.IsFocusScope="True"
ItemsSource="{Binding ElementName=TheWindow, Path=ListOStrings}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
По какой-то странной причинеFocusManager.IsFocusScope = "True" назначение приводит к тому, что фокус клавиатуры не устанавливается при установке флажка с помощью щелчка мыши, и фокус выпрыгивает из ItemsControl, когда флажок установлен с помощью пробела на клавиатуре. Кажется, что оба симптома указывают на некоторую странную навигацию, когда флажок установлен, но мне трудно разобраться в этом.
Эта проблема возникает, если я устанавливаю какой-либо родительский элемент визуального дерева в качестве области фокусировки, используя этот метод. Если я удалюFocusManager.IsFocusScope = "True" тогда проблемы уходят. К сожалению, я вижу эту проблему в большом проекте, где я не могу просто удалить эти области фокусировки, не беспокоясь о других последствиях, связанных с фокусом.
Может ли кто-нибудь объяснить мне странное поведение, которое я вижу? Это ошибка или я просто что-то упустил?