初心者向けのWPFでのツリービューバインディングに関する簡単なチュートリアルはありますか?
アイテムのリストが1つある場合、ItemsSource、DataType、ItemTemplate属性に何を書き込む必要がありますか?
IList<string> items = new List<string>();
items.Add("item1");
items.Add("item2");
items.Add("item3");
XAMLコード:
<TreeView Name="treeView1">
<TreeView.Resources> <!-- what does it mean? -->
<HierarchicalDataTemplate DataType="???" ItemsSource="{Binding ???}"></HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
データバインディングでwpfツリービューを使用する方法を完全に理解するために、次のチュートリアルを順番に実行しました-
1)再帰を使用したツリービューバインディングの非常に単純な例
http://testdrivendevelopment.wordpress.com/2008/07/15/databinding-wpf-treeview-using-recursion/
2)Claus Konradsがツリービューとのデータバインディングの簡単な例。これは、私が遭遇した中で最も簡単な例であり、すべての新規参入者をwpfまでスピードアップさせる必要があります。
http://blog.clauskonrad.net/2011/04/how-to-make-hierarchical-treeview.html
3)Mike Hillbergsチュートリアルでは、ツリービューの内外を詳細に示し、他のwpfコントロールと比較して、データをバインドする方法を示しています。
ジョシュ・スミスの優れた作品をご覧ください チュートリアル
Treeviewは、WPFの1つのコントロールであり、少し異なる方法でアプローチする必要があります。シンプルで効率的であると同時に、初心者、特にWindowsアプリケーションのバックグラウンドから来るものを理解し、理解するのが面倒です。 [〜#〜] mvvm [〜#〜] パターンを最初に使用してから、ツリービューに近づこうとします。
以下のJosh Smithの記事から始めるとよいでしょう。
http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx
トリックは、ItemsSource
が次のコレクションを指すことです。
たとえば、タイプAのコレクションがあり、各AにタイプBの説明とコレクションが含まれているとします。各Bには、タイプCの説明とコレクションが含まれています。バインディングは次のようになります。
<TreeView Width="400" ItemsSource="{Binding CollectionOfA}">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type TypeA}" ItemsSource="{Binding CollectionOfB}">
<TreeViewItem Header="{Binding TypeADescription}" />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type TypeB}" ItemsSource="{Binding CollectionOfC}">
<TreeViewItem Header="{Binding TypeBDescription" />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type TypeC}">
<TreeViewItem Header="{Binding TypeC}" />
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>