Я попробовал этот довольно сложный подход, используя событие SelectionChanged.Он выполняет свою работу, за исключением того, что индикатор фокуса пунктирной линии по-прежнему отображается в записи loginTab, даже если TabControl продолжает отображать «lastTab», как и предполагалось.Вызов Focus () не сохраняет фокус на последней вкладке.
private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.Source == wizardTabs && e.RemovedItems.Count != 0 && e.AddedItems.Count != 0)
{
TabItem fromItem = e.RemovedItems[0] as TabItem;
TabItem toItem = e.AddedItems[0] as TabItem;
if (fromItem.Name == "lastTab" && toItem.Name == "firstTab")
{
e.Handled = true;
wizardTabs.SelectedItem = fromItem;
fromItem.Focus();
}
}
}