这就是我所拥有的:
ObservableCollection<Item>()
ObservableCollection<Group> Groups = new ObservableCollection<Group>()
每个组都有一个键,一个名称,一个类型为ObservableCollection<Group>()
的子组
以及itemList
类型ObservableCollection<Item>()
。
主窗口中的My Treeview如下所示:
<TreeView Name="treeViewGroup" BorderThickness="0,2,0,0" ItemsSource="{Binding}">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type data:Group}" ItemsSource="{Binding Items}">
<StackPanel>
<TextBlock Text="{Binding Path=Name}" />
</StackPanel>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type data:ItemCollection}" >
//<StackPanel >
// <test:ucTable x:Name="table1" DataContext="{Binding IpAdress}">
// <TextBlock Text="{Binding Path=Name}" />
// </test:ucTable>
//</StackPanel>
</DataTemplate>
</TreeView.Resources>
表中的uc如下所示:
<UserControl x:Class="namespace.GUI.ucTable"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
x:Name="ucTable"
mc:Ignorable="d"
d:DesignHeight="200" d:DesignWidth="500" >
<DataGrid x:Name="table1" Margin="10,10,10,10"
AutoGenerateColumns="False" CanUserAddRows="False"
CanUserReorderColumns="False" CanUserResizeRows="False" CanUserResizeColumns="False"
AlternatingRowBackground="AliceBlue" Grid.IsSharedSizeScope="True">
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem Header="Information"/>
<MenuItem Header="Delete"/>
</ContextMenu>
</DataGrid.ContextMenu>
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Width="Auto" />
<DataGridTextColumn Header="Location" Binding="{Binding Location, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Width="Auto" />
<DataGridTextColumn Header="Ip" Binding="{Binding IpAdress, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Width="Auto" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
我想要的是一个包含所有嵌套组的Treeview,如果一个组有一个itemList,那么这些项应该在datagrid的usercontrol中。
我尝试了很多例子和东西,但它没有用。 有人有想法吗?
提前致谢