6


2

階層データをWPF TreeViewにデータバインドする方法は?

タイプは次のようになります。

class Category
{
    public string Name;
    public string Message;

    public ObservableCollection SubCategories;
}

5つのカテゴリがあり、各カテゴリには0(なし)から3までのサブカテゴリが含まれます。

非階層データをWPF TreeViewにバインドする方法は知っていますが、階層データ値についてはわかりません。

3 Answer


8


以下に例を示します。

このコードはhttp://blogs.msdn.com/b/mikehillberg/archive/2006/10/11/a-treeview-a-hierarchicaldatatemplate-and-a-2d-collection-walk-into-a-barからのものです。 aspx [こちら]その記事を読む方がより役立つかもしれないと思っています。


2


まず、これらすべてのフィールドをプロパティに変換する必要があります。WPFデータバインディングはフィールドにバインドできません。 (そして、Muad’Dibの答えはうまくいくはずです。)


2


この質問はずっと前に聞かれたことを知っています。 ただし、MSDNには、Muad’Dibの回答を拡張した非常に優れたhttps://msdn.microsoft.com/en-us/library/dd759035(v=vs.95).aspx[example]があります。

XAMLは次のようになります。


この2つを組み合わせて完璧に機能することがわかりました。