私は、この構造に従うオブジェクトを含むリストを持っています。これは私が実際に働いているクラスではありませんが、その概念を説明する必要があります。WPF HierarchicalDataTemplate&ItemsControl
クラス
public class BaseType{}
public class TypeA : BaseType{}
public class TypeB: BaseType
{
public List<TypeA> TypeAList { get; private set; }
}
のItemsControlが結合リストに私が見ることを期待するものを
<ItemsControl>
<ItemsControl.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:TypeB}" ItemsSource = "{Binding Path=TypeAList}">
<DataTemplate.Resources>
<Style TargetType="TextBlock">
<Setter Property="FontSize" Value="18"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
</DataTemplate.Resources>
<Grid>
<Ellipse Fill="Gold"/>
<StackPanel>
<TextBlock Margin="3,3,3,0"
Text="{Binding Path=Description}"/>
<TextBlock Margin="3,0,3,7"
Text="{Binding Path=Name}"/>
</StackPanel>
</Grid>
</HierarchicalDataTemplate>
<ItemsControl.Resources>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel></StackPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
今List<BaseType>
XAMLのすべてのタイプAのオブジェクトですIteに表示されるTypeBオブジェクトのプロパティに見つかりましたmsControlではなく、HierarchicalDataTemplate用に定義されたスタイルで表示されるTypeBオブジェクトのみが表示されます。私はTreeViewコントロールで同じデータテンプレートを使用しました。そこでは、子アイテムをうまく表示します。
- ItemsControlでHierarchicalDataTemplateを使用できませんか?
- ItemsControlに親子関係を表示するにはどうしたらいいですか?