将对象绑定到 TreeView
Binding Object to TreeView
我想将我的对象绑定到 TreeView
。
我设置了以下对象:
public class BuildStep
{
public int Id { get; set; }
public int NodeLevel { get; set; }
public List<BuildStep> Children { get; set; }
}
现在,我想将此数据绑定到 TreeView。我阅读了很多关于 HierarchicalDataTemplate
的答案和文档,但无法正常工作!
如何将此对象绑定到 TreeView?
您将 TreeView
的 ItemsSource
属性 设置或绑定到 BuildStep
根节点的 IEnumerable
:
List<BuildStep> rootNodes = new List<BuildStep>() { /* build your list of BuildSteps */ };
treeView.ItemsSource = rootNodes;
然后您可以像这样使用 HierarchicalDataTemplate
:
<TreeView x:Name="treeView" xmlns:local="clr-namespace:WpfApplication1">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:BuildStep}" ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Id}" />
<TextBlock Text="{Binding NodeLevel}" />
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
WpfApplication1
指的是BuildStep
class.
的命名空间
我想将我的对象绑定到 TreeView
。
我设置了以下对象:
public class BuildStep
{
public int Id { get; set; }
public int NodeLevel { get; set; }
public List<BuildStep> Children { get; set; }
}
现在,我想将此数据绑定到 TreeView。我阅读了很多关于 HierarchicalDataTemplate
的答案和文档,但无法正常工作!
如何将此对象绑定到 TreeView?
您将 TreeView
的 ItemsSource
属性 设置或绑定到 BuildStep
根节点的 IEnumerable
:
List<BuildStep> rootNodes = new List<BuildStep>() { /* build your list of BuildSteps */ };
treeView.ItemsSource = rootNodes;
然后您可以像这样使用 HierarchicalDataTemplate
:
<TreeView x:Name="treeView" xmlns:local="clr-namespace:WpfApplication1">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:BuildStep}" ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Id}" />
<TextBlock Text="{Binding NodeLevel}" />
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
WpfApplication1
指的是BuildStep
class.