4

wpf TreeView を使用して以下を表示したい:

ツリービュー構造

私のオブジェクトは異なります。基本クラスやインターフェイスはありません。アイテムごとに HierarchicalDataTemplate を定義する必要があります。たとえば、「配送」という ItemSource を 1 つだけ追加できますが、このストップにもピックアップを追加したいと考えています。

<!-- 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>

ルートのコレクションがあり、各ルートにはストップがあり、各ストップには配達とピックアップがあり、各配達にはアイテムがあり、各アイテムには独自のアイテムがあります...これを解決するにはどうすればよいですか?

4

1 に答える 1

3

これは異種データソースの問題のように思えます。このソリューションは、あなたが探しているものかもしれないと思います。

于 2013-02-06T04:23:53.587 に答える