如標題所示,我不想把它全部放在一個ViewModel中,我想每個TabItem都有一個viewModel,但是我對WPF和MVVM是新的,所以請裸露跟我。如何將不同的TabItems綁定到不同的ViewModels
我創建用於包含TabControl的,其中I具有這個特性currentViewModel窗口一個mainViewModel,指出爲默認值的mainViewModel構造
public MainViewModel()
{
currentViewModel = "viewModel1";
}
當在另一個TabItem的用戶點擊這個執行
currentViewModel = "viewModel2";
當然set訪問具有onPropertyChanged方法
public String currentViewModel
{
get { return _currentViewModel; }
set
{
_currentViewModel = value;
OnPropertyChanged("currentViewModel");
}
}
另兩個viewModels(viewModel1,viewModel2)每一個都決定了我想要在其中切換的一個tabItems的功能。
現在在我的Main.xaml我想綁定我的dataContext首先是MainViewModel,然後到currentViewModel屬性。所以無論用戶何時點擊一個tabItem,currentViewModel屬性都會更新,並且dataContext指向相應的視圖模型。我希望這是提前足夠清晰
感謝
使用字符串設置viewmodels? Yuck,我不認爲這是必要的。另外一個人通常會在setter中的這兩行周圍有一個'if(_fieldOfProperty!= value)'塊。 – 2011-04-21 01:01:26