У меня есть главное окно с элементом управления вкладкой, содержащим 2 tabItem
s:
В настоящее время у меня есть 1 ViewModel
, который обслуживает Tab1 и Tab2. Этот ViewModel
становится немного раздутым с размытым SOC. Я хочу разделить логику на 2 режима просмотра: ViewModel 1 и ViewModel2. Я понимаю, что вы можете установить главное окно DataContext
на базовую модель ViewModel, которая содержит коллекцию ViewModels, а затем вы можете утверждать каждый TabItem в другой ViewModel.
Пример, который я видел в этих базовых ViewModels, выставляет 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 для каждого TabItem? Я бы хотел, чтобы Tab1 = ViewModel1 и Tab2 = ViewModel2?