【发布时间】:2018-06-09 16:35:33
【问题描述】:
我是一名初学者,正在尝试创建我的第一个应用程序,该应用程序包含一个具有三个级别的 treeView
第一级显示进程名称
二级显示其模块和线程已修复
第三层包含子模块和子线程
proc1
Module
subMod1
Thread
thread1
proc2
Module
submod1
Thread
subThread
这是 xmal.cs 文件
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
for (int i = 0; i <= 3; i++)
{
Module mod = new Module
{
modulelist = new List<moduleList>() { new moduleList { Name = "mod1" } ,
new moduleList { Name = "mod1" } }
};
Thread th = new Thread
{
threadlist = new List<threadList>() { new threadList { Name = "thread1" } ,
new threadList { Name = "thread1" } }
};
ProcName proc1 = new ProcName { Name = "proc" + i, mod = new Module(), th = new Thread() };
tv.DataContext = proc1;
}
}
public class ProcName
{
public string Name
{ get; set; }
public Module mod = new Module();
public Thread th = new Thread();
}
public class Module
{
public string Name = "Module";
public List<moduleList> modulelist
{ get; set; }
}
public class moduleList
{
public string Name
{ get; set; }
}
public class Thread {
public string Name = "Thread";
public List<threadList> threadlist
{ get; set; }
}
public class threadList
{
public string Name
{ get; set; }
}
}
这是xmal文件
<TreeView Name="tv" ItemsSource="{Binding}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding ProcName}">
<TextBlock Margin="3" Text="{Binding Name}"/>
<!-- child node will be a MasterAction -->
<HierarchicalDataTemplate.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Module}">
<TextBlock Text="{Binding Name}"/>
<!-- leaf will be a SlaveAction -->
<HierarchicalDataTemplate.ItemTemplate ItemSource ="{Binding moduleList} ">
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Thread}">
<TextBlock Text="{Binding Name}"/>
<!-- leaf will be a SlaveAction -->
<HierarchicalDataTemplate.ItemTemplate ItemSource ="{Binding threadList} ">
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
</Window>
我知道这不是正确的方法,但尝试这样做
如何正确使用?
【问题讨论】:
-
您的数据类与您的树不匹配,这是第一个问题。一个进程可以有多个线程吗?多个模块?
-
是的,一个进程有多个模块和线程