Более простой / альтернативный способ реализовать это - создать коллекцию пользовательских элементов управления, которые вы хотите привязать к элементу управления вкладками.Например,
public interface ITabUserControl
{
string DisplayName { get; set; }
}
public class MasterTechnicianViewModel : ITabUserControl
{
public string DisplayName { get; set; } = "Master Technician";
}
public class ServicesViewModel : ITabUserControl
{
public string DisplayName { get; set; } = "Services";
}
Теперь в вашей ShellViewModel вы можете создать коллекцию ITabUserControl
public List<ITabUserControl> UserControls { get; set; }
public ShellViewModel()
{
UserControls = new List<ITabUserControl>();
UserControls.Add(new MasterTechnicianViewModel());
UserControls.Add(new ServicesViewModel());
}
и связать свой TabControl как
<dx:DXTabControl x:Name="UserControls"/>
Теперь вы можетепереключаться между элементами управления без каких-либо проблем, без явной активации.