меня есть два классаМОФ MVVM рекурсивное дерево
public class leaf
{
public string name { get; set; }
}
и
public class node
{
public ObservableCollection<node> nodeList = new ObservableCollection<node>();
public ObservableCollection<leaf> leafList = new ObservableCollection<leaf>();
public ObservableCollection<node> prop_nodeList { get { return nodeList; } set { nodeList = value; } }
public ObservableCollection<leaf> prop_leafList { get { return leafList; } set { leafList = value; } }
public string name { get; set; }
}
как вы можете видеть свою работу как дороги или дерево. узел может иметь информацию о другом узле и листе.
я хотел бы показать в дереве управления пользователя отформатированные как этот
nethead является основным узлом, а его иметь два другой узел (Ь, а). узел a имеет два узла (b, c) и 2 листа (a1, a2). но я не делаю этого с mvvm. когда я делаю это с MVVM его похожим
из C# я делаю только
this.DataContext = mainNode; // its node which hold everething (its named netHead)
из XAML его
<Grid>
<TreeView ItemsSource="{Binding prop_nodeList}">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:node}" ItemsSource="{Binding prop_nodeList}">
<TextBlock Text="{Binding Path=name}"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:leaf}" ItemsSource="{Binding prop_leafList}">
<TextBlock Text="{Binding Path=name}"/>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
</Grid>
вы видите, что я хочу сделать? Я хочу сделать двойной treeItem в TreeView, но он не работает :( , пожалуйста, помогите, его проект для Ant Algorithm, и я хочу сделать лучший gui в классе.
привет, вы используете HierarchicalDataTemplate неправильно. посмотрите на msdn, как правильно использовать его. http://blogs.msdn.com/b/mikehillberg/archive/2009/10/30/treeview-and-hierarchicaldatatemplate-step-by-step.aspx btw there aint лучше gui, чем старая консоль школы hehe –
Спасибо, я didnt знайте это раньше. но я до сих пор не знаю, как сделать двойной элемент в ItemTemplate – Jan3Sobieski