WPF Caliburn.Micro и TabControl с проблемой UserControls

Я почти уверен, что где-то ответили, но я могуКажется, он нашел это для меня. Я

я пытаюсь использовать TabControl для переключения между UserControls (каждая вкладка отличается, поэтому не с использованием элементов)

Вот'Разбивка: у меня есть основное и 3 пользовательских элемента управления. Mainview имеет элемент управления вкладками - каждая вкладка должна отображать разные пользовательские элементы управления.

Я мог бы просто установить для контекста tabcontrol пользовательский контроль, используя Но, но это не так.T привязан к модели представления, только к представлению.

Так что я'Я использую Conductor в моей виртуальной машине и ActivateItem. Вот's, где это начинает становиться странным / расстраивающим. Приложение запускается с выбранным Tab0, но с содержимым Tab2 (последняя вкладка). Нажмите на любую другую вкладку, загрузит правильный ViewModel для этой вкладки. Нажмите обратно на Tab0, там же будет загружен правильный контент.

Как мне заставить это остановиться? Также я'мне бы очень понравилось, если переключение вкладок не• повторно инициализировать модель представления, очистив поля, которые уже были введены.

В любом случае, здесьнекоторые из моего источника, яЯ собираюсь просто бросить это здесь и поработать над чем-то еще, прежде чем я сломаю свою мышь.

Посмотреть:


        
            
                
            
        
        
            
                
            
        
        
            
                
            
        

    

и ViewModel:

class MainViewModel : Conductor
{
    RemoteInfoViewModel remoteInfo = new RemoteInfoViewModel();
    RemoteToolsViewModel remoteTools = new RemoteToolsViewModel();
    CHRemoteViewModel chRemote = new CHRemoteViewModel();

    public MainViewModel()
    {
        ActivateItem(remoteInfo);
    }

    public void LoadRemoteInfo()
    {
        ActivateItem(remoteInfo);
    }

    public void LoadRemoteTools()
    {
        ActivateItem(remoteTools);
    }

    public void LoadCHRemote()
    {
        ActivateItem(chRemote);
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос