WPF TreeView 多个 itemsSource

4
我希望使用wpf TreeView来显示以下内容: TreeView structure 我的对象不同,没有基类或接口,我必须为每个项目定义一个HierarchicalDataTemplate。例如,我可以添加一个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>

我有一组路线,每个路线都有停靠点,每个停靠点都有送货和取货,每个送货包含物品,每个物品又可以包含自己的物品,如何解决这个问题?


1
我认为像这样的解决方案非常好:WPF Treeview Databinding Hierarchal Data with mixed types. - ebadola sobhanwerdy
2个回答

4
这听起来像是异构数据源问题。我认为这个解决方案可能是你需要的。

谢谢,这正是我在寻找的。 - Pking

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接