Привязка ContentControl к UserControl и повторное использование одного и того же экземпляра

Я пытаюсь привязать ContentControl Content к UserControl, который я создал в своей ViewModel. Я не могу использовать метод с привязкой к ViewModel, и тогда UserControl должен быть DataTemplate ViewModel, поскольку мне нужно, чтобы содержимое ContentControl можно было часто менять, используятот же экземпляр UserControls / Views, а не создавать экземпляры представлений каждый раз, когда я перепривязываю.

Однако при установке свойства UserControl на экземпляр UserControl, а затем, когда представление отображается / привязывается к данным, я получаю:Необходимо отключить указанный дочерний элемент от текущего родительского Visual перед подключением к новому родительскому Visual. Несмотря на то, что я ранее нигде не добавлял этот UserControl, я просто создал этот экземпляр ранее и сохранил его в памяти.

Есть ли лучший способ добиться того, что я делаю?

В ViewModel

public class MyViewModel : INotifyPropertyChanged
{
    //...

    private void LoadApps()
    {
        var instances = new List<UserControl>
                          {
                              new Instance1View(),
                              new Instance2View(),
                              new Instance3View(),
                          };
        SwitchInstances(instances);
    }

    private void SwitchInstances(List<UserControl> instances)
    {
        CenterApp = instances[0];
    }

    //...

    private UserControl _centerApp;
    public UserControl CenterApp
    {
        get { return _centerApp; }

        set
        {
            if (_centerApp == value)
            {
                return;
            }

            _centerApp = value;
            OnPropertyChanged("CenterApp");
        }
    }

    //...
}

В View.xaml

<ContentControl Content="{Binding CenterApp}"></ContentControl>

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

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