基本上需要在wpf中使用treeview控件来实现这样的事情:(随机图片)
http://blogs.msdn.com/blogfiles/delay/SimpleTreeGridUX.png
节点和子节点具有相同标头的位置.
我google了很多,但我对wpf的了解并不是那么好.
这是我的父节点类:
public class Parent : PropertyChangedBase
{
public string ParentName { get; set; }
public BindableCollection<Child> Children { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和孩子:
public class Child : PropertyChangedBase
{
public string ChildName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的xaml树视图:
<TreeView Grid.Row="0" Grid.Column="0" ItemsSource="{Binding Nodes}">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type projectModels:Parent}" ItemsSource="{Binding Children}">
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<CheckBox Grid.Column="2"></CheckBox>
<TextBlock Grid.Column="1" Text="{Binding ParentName}">
</TextBlock>
</Grid>
</StackPanel>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type projectModels:Child}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ChildName}"></TextBlock> …Run Code Online (Sandbox Code Playgroud)