В WPF я могу указать, что контейнер управления представляет собой область фокусировки, и эта вкладка должна циклически перемещаться по элементам управления (т.е. когда я выхожу из конечного элемента управления, фокус возвращается к первому):Обнаружение фокуса WPF, достигающего конца области фокуса
<Border FocusManager.IsFocusScope="True" KeyboardNavigation.TabNavigation="Cycle">
<ItemsControl ItemsSource="{Binding}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBox x:Name="Editor" Text="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Border>
То, что я пытаюсь сделать, это обнаружить когда фокус покидает последнее поле. Не зная точно количество элементов управления в области фокуса, кто-нибудь знает, возможно ли это?
В конце концов, мне удалось обойти мою конкретную проблему, используя представление коллекции по умолчанию, чтобы сохранить запись текущего элемента и некоторые прикрепленные свойства, чтобы поддерживать это в соответствии с текущей фокусировкой клавиатуры. –