WPF TreeView多项目资源

WPF TreeView多项目资源,wpf,treeview,Wpf,Treeview,我想使用wpf树视图显示以下内容: 我的对象是不同的,没有基类或接口,我必须为每个项目定义一个HierarchycalDataTemplate,例如,我可以只添加一个ItemSource“Deliveries”,但我还想为这个站点添加拾取 <!-- DELIVERY--> <DataTemplate x:Key="DeliveryDataTemplate"> <StackPanel Orientation="Horizontal">

我想使用wpf树视图显示以下内容:

我的对象是不同的,没有基类或接口,我必须为每个项目定义一个HierarchycalDataTemplate,例如,我可以只添加一个ItemSource“Deliveries”,但我还想为这个站点添加拾取

<!-- DELIVERY-->
<DataTemplate x:Key="DeliveryDataTemplate">
    <StackPanel Orientation="Horizontal">
        <TextBlock Text="DeliveryId"  Margin="3,3" />
        <TextBlock Text="{Binding DeliveryStatus}" VerticalAlignment="Center" Margin="5" />
        <TextBlock Background="{Binding StopStatus, Converter={StaticResource StatusConverter}}" Width="16" Height="16" />
    </StackPanel>
</DataTemplate>

<!-- STOP -->
<HierarchicalDataTemplate x:Key="StopTemplate"
                          ItemsSource="{Binding Deliveries}"
                          ItemTemplate="{StaticResource DeliveryTemplate}">
    <StackPanel Orientation="Horizontal">
        <TextBlock Text="Stop"  Margin="3,3" />
        <TextBlock Text="{Binding StopId}" Margin="3,3" />
        <TextBlock Background="{Binding StopStatus, Converter={StaticResource StatusConverter}}" Width="16" Height="16" Margin="3,3"  />
    </StackPanel>
</HierarchicalDataTemplate>

<!-- ROUTE -->
<HierarchicalDataTemplate x:Key="RouteTemplate"
                          ItemsSource="{Binding Stops}"
                          ItemTemplate="{StaticResource StopTemplate}">
    <StackPanel Orientation="Horizontal">
        <TextBlock Text="Route"  Margin="5,5" />
        <TextBlock Text="{Binding RouteId}" Margin="5,5" />
        <TextBlock Background="{Binding RouteStatus, Converter={StaticResource StatusConverter}}" Width="16" Height="16"  Margin="5,5" />
    </StackPanel>
</HierarchicalDataTemplate>


我有一个路线集合,每条路线都有站点,每个站点都有送货和提货,每个送货都有自己的物品,每个物品都有自己的物品,等等。。。如何解决这个问题?

这听起来像是一个异构数据源问题。我想这可能就是您想要的。

我认为类似休闲的解决方案非常好[WPF Treeview数据绑定混合类型的分层数据][问题]。[问题]:谢谢,这就是我想要的。