【发布时间】:2019-04-04 12:52:45
【问题描述】:
是否可以在 WPF TreeView 中显示(自定义)详细信息?
我想显示我的计算机的所有服务,并在它旁边有描述、状态等,并且能够在扩展时订购它。有可能实现吗?
我正在以编程方式创建树,这就是我目前所拥有的:
public void LoadServices(object sender, RoutedEventArgs e)
{
TreeView.Items.Clear();
List<string> computers = new List<string> { Environment.MachineName, Environment.MachineName };
foreach (string computer in computers)
{
TreeViewItem CurrComputer = new TreeViewItem { Header = computer };
TreeView.Items.Add(CurrComputer);
Services = ServiceController.GetServices();
foreach (ServiceController tempService in Services)
{
TreeViewItem newService = new TreeViewItem
{
Header = tempService.DisplayName
};
CurrComputer.Items.Add(newService);
}
}
}
/edit:我能想到的一种解决方案是在它旁边放置一个列表视图,并将其从树视图映射到列表视图。但这不是很顺利,也意味着如果我按某些东西排序,树视图将不会被排序。
【问题讨论】:
-
你有没有考虑过使用 MvvM?这将完全适合您的
ViewModel。然后,您将为树视图项提供分层数据模板。这些代码都没有在 malarkey 后面。 -
查看我的回答,如果有帮助请点赞