小编Tom*_*ens的帖子

WPF复杂分层数据模板

我正在寻找一个复杂的结构,我似乎找不到显示它的方法......

我的情况:

类:里程碑里面有2个列表,其他子里程碑列表和活动列表.

如此结构化可能像:

M1

  • 里程碑
    • SubMilestone
      • 里程碑
      • 活动
    • Submilestone
  • 活动

有人对如何创建这个有任何想法吗?或者可以把我推向一个方向?

回答我的问题

<TreeView ItemsSource="{Binding Path=Project.TrackList}">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type deto:Track}" ItemsSource="{Binding Path=FaseList}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="{Binding Path=TrackType}" />
                        </StackPanel>
                    </HierarchicalDataTemplate>
                    <HierarchicalDataTemplate DataType="{x:Type deto:Fase}" ItemsSource="{Binding Path=MilestoneList}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="{Binding Path=FaseType}" />
                        </StackPanel>
                    </HierarchicalDataTemplate>
                    <HierarchicalDataTemplate DataType="{x:Type deto:Milestone}" ItemsSource="{Binding Converter={StaticResource MConverter}}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="{Binding Path=Description}" />
                        </StackPanel>
                    </HierarchicalDataTemplate>
                    <HierarchicalDataTemplate DataType="{x:Type deto:Activity}" ItemsSource="{Binding Path=ActivityList}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="{Binding Path=Description}" />
                        </StackPanel>
                    </HierarchicalDataTemplate>
                </TreeView.Resources>
            </TreeView>
Run Code Online (Sandbox Code Playgroud)

和转换器:

public class MilestoneConverter : IValueConverter
{
    #region …
Run Code Online (Sandbox Code Playgroud)

c# wpf hierarchical-data

4
推荐指数
1
解决办法
3539
查看次数

标签 统计

c# ×1

hierarchical-data ×1

wpf ×1