グループ、アイテム、サブアイテムのエンティティ用に 3 つの埋め込みリストボックスがあります。
<ListBox Name="GroupItemsListBox"
ItemSource="{Binding EntityGroups"}>
<ListBox.ItemTemplate>
<DataTemplate>
<ItemsControl Name="ItemsListBox"
ItemSource="{Binding Items}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<ItemsControl Name="SubItemsListBox"
ItemSource="{Binding SubItems}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name} />
</DataTemplate>
</ItemsControl.ItemTemplate>
</DataTemplate>
</ItemsControl.ItemTemplate />
</ItemsControl>
</DataTemplate>
<ListBox.ItemTemplate>
</ListBox>
また、最後のリストボックスが空の場合もあります。SelectedItem を最下位の既存の ItemControl から処理したいと考えています。そのため、最も具体的なオブジェクトが選択されたときに管理できます。
たとえば、ItemGroup[1].Items[0].SubItem[2] をクリックすると、この要素を取得したいのですが、ItemGroup[1] や ItemGroup[1].Items[0] は取得したくありません。
どうすれば達成できますか?