私は次のような階層データクラスを持っています
public class MyNode
{
public string Name { get; set;}
public bool IsExpanded { get; set;}
public List<MyNode> Nodes { get; set;}
}
MyNodeクラスをTreeViewにバインドするためにHierarchicalDataTemplateを定義できます。
<sdk:TreeView ItemsSource="{Binding RootNodes}">
<sdk:TreeView.ItemTemplate>
<sdk:HierarchicalDataTemplate ItemsSource="{Binding Nodes}">
<TextBlock Text="{Binding Name}" />
</sdk:HierarchicalDataTemplate>
</sdk:TreeView.ItemTemplate>
</sdk:TreeView>
問題は、TreeViewItemのIsExpandedプロパティを対応するMyNode.IsExpandedプロパティにデータバインドして、この情報を永続化する方法です。
よろしくお願いします、レックス