我开始学习MVVM并且不确定我是否正确理解了一些关键概念。
假设我有一些具有属性ObservableCollection<CourseModel>
Courses
的ViewModel,并使用它为我的视图中的ItemsSource
提供TreeView
。为简单起见,CourseModel只有一个属性Name
。但我需要一些其他属性,如IsSelected,IsExpanded等,以便在TreeViewItem中显示它。我可能还需要在ListView
或GridView
中显示课程,并且不确定在CourseModel中是否拥有IsSelected属性是正确的。
使用我需要的属性扩展CourseModel的最佳方法是什么?
伪代码
public class ViewModel: INotifyPropertyChanged
{
public ObservableCollection<CourseModel> Courses {get;set;}
}
public class CourseModel: INotifyPropertyChanged
{
public string Name {get;set;}
}