我对 WPF 很陌生,虽然我已经听说过它的一些概念,比如 Model-View-ViewModel。我想通过做一个小程序开始学习WPF。
在程序中,我有一个 TreeView 来显示目录(例如我的文档、计算机等)。我可以轻松地为数据开发一个类,即 DirectoryModel
class DirectoryModel : INotifyPropertyChanged
{
private DirectoryInfo directory;
private FileInfo file;
private DirectoryModel(DirectoryInfo directory)
{
//...
}
private DirectoryModel(FileInfo file)
{
//...
}
public static DirectoryModel[] RootDirs()
{
//...
}
public DirectoryModel[] SubDirs()
{
//...
}
public DirectoryModel[] Files()
{
//...
}
public override string ToString()
{
if (this.directory != null)
return this.directory.Name;
else
return this.file.Name;
}
public event PropertyChangedEventHandler PropertyChanged;
}
现在我想将此模型绑定到树视图。我已经阅读了几篇关于绑定数据的文章,来自 MSDN 和 CodeProject,但我仍然没有抓住关键!我读过一些关于在 XAML 中创建绑定的内容,其中有人只写了类似<c:MyData x:Key="myDataSource"/>
的内容,但这是myDataSource
从哪里来的?由于第一个字母没有大写,我假设它是某种类型的变量,但没有定义或声明或提及这一点。
我读过这篇文章,但有很多事情我不清楚(如 ItemTemplate、ItemContainerStyle 等)。我的感觉是,似乎有很多不同的方法来做绑定,不同的博客或文章使用不同的方法。
所以我的问题是,如何定义模型类,并创建该类的变量并将其绑定到控件(此处为树视图)?或者我想知道,在 WPF 中绑定数据的标准方法是什么,如果有的话?