Я вижу странное поведение, когда дело доходит до фокусировки и навигации с помощью клавиатуры.В приведенном ниже примере у меня есть простой 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" , то проблемы исчезнут.К сожалению, я вижу эту проблему в большом проекте, где я не могу просто удалить эти области фокусировки, не беспокоясь о других последствиях, связанных с фокусом.
Может ли кто-нибудь объяснить мне странное поведение, которое я вижу?Это ошибка или я просто что-то упустил?