我有一个主窗口,其中包含两个选项卡tabItem
:
我目前有一个ViewModel
来处理Tab1和Tab2的服务。 这个ViewModel
由于模糊SOC而变得有点臃肿。 我想将逻辑拆分成2个视图模型:ViewModel1和ViewModel2。我的理解是,您可以将主窗口DataContext
设置为一个包含ViewModel集合的基础ViewModel,然后可以将每个TabItem分配给不同的ViewModel。
我看到的这些基本ViewModel示例会公开ObservableCollection,如下所示:
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);
}
但是我该如何为每个选项卡指定不同的ViewModel?我希望Tab1 = ViewModel1,Tab2 = ViewModel2。