WPVM MVF: liaison d'un ViewModel différent à chaque TabItem?

J'ai une fenêtre principale avec un contrôle onglet contenant 2 tabItems:

WPVM MVF: liaison d'un ViewModel différent à chaque TabItem?

J'ai actuellement 1 ViewModel services Tab1 & Tab2. Cette ViewModel est en train de devenir un peu gonflé avec floue SOC. Je veux diviser la logique en 2 viewmodel: ViewModel 1 & ViewModel2. Ma compréhension est que vous pouvez définir la Fenêtre Principale DataContext à une Base ViewModel qui détient une collection de ViewModels & ensuite, vous pouvez faire valoir chaque TabItem à un autre ViewModel.

L'exemple que j'ai vu de ces Viewmodel exposer une ObservableCOllection comme suit:

private ObservableCollection<ViewModel1> _viewModelCollection
Public Observable Collection<ViewModel1> ViewModelCollection
{
   get { return _viewModelCollection; }
   set
     {
        _viewModelCollection = value;
        OnPropertyChanged("ViewModelCollection");
     }
}

public BaseViewModel()
{
  ViewModelCollection = new ObservableCollection<ViewModel1>();
  ViewModelCollection.Add(new ViewModel1(Tab1);
  ViewModelCollection.Add(new ViewModel1(Tab2);
}

Mais comment puis-je attribuer une autre ViewModel pour chaque TabItem? Je voudrais Tab1= ViewModel1 & Tab2=ViewModel2?

source d'informationauteur Hardgraf