我有一个对象,它包含一个可观察的集合 我试图围绕如何把这一切都粘在树视图上。 所以主要对象是父对象,可观察集合中的项是子子对象。 目前,该类具有可以绑定到标头的公共字符串属性。 以下是该课程的部分内容:
public class ServerObject : INotifyPropertyChanged
{
private string _serverName;
ObservableCollection<string> _instanceList;
public ObservableCollection<string> InstanceList
{
get { return _instanceList; }
}
public string ServerName
{
get { return _serverName; }
set
{
_serverName = value;
RaisePropertyChanged("ServerName");
}
}
public ServerObject(string name, string version)
{
ServerName = name;
_instanceList = new ObservableCollection<string>();
}
}
提前致谢。
答案 0 :(得分:1)
最简单的方法是使用HierarchicalDataTemplates。定义两个或多个模板。在模板声明行中,为对象添加类型指示符。另外,添加一个指向下一级别的ItemsSource属性。
<HierarchicalDataTemplate Datatype="{x:Type local:mySerberObject}" ItemsSource="{Binding InstanceList}"/>
将顶级集合绑定到树视图,您应该关闭并运行。根据您的喜好设置数据模板的样式。
如果您当前正在使用MVVM(或者如果您打算开始使用它),请查看下面的链接以获取关于using the treeview with MVVM的非常好的文章。