XAML でオブジェクトを treeviewcontrol WPF にバインドしようとしていますが、treview が空になっています。私がそれまでにそれをしているとき、treeview.items.add(GetNode())
それは機能しています。
MVVM Framework(caliburn.Micro) を使用しています。Xaml で実行したかったのですが、Xaml で Item ソース プロパティを割り当てるにはどうすればよいですか? Node クラスのプロパティを作成し、プロパティ内でメソッド GetNode() を呼び出すことを試み、そのプロパティをツリービューの itemssource として割り当て、List を Observable コレクションに変更しました。それでも問題は同じです。
treeview.items.Add(GetNode())
Node を返し、i
ノード コレクションを Hireachial Template に割り当てるときに、Xamlを動作させます。
<TreeView Name="treeview2"
Grid.RowSpan="2"
Grid.ColumnSpan="2"
ItemContainerStyle="{StaticResource StretchTreeViewItemStyle}" Width="300">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Nodes}">
<DockPanel LastChildFill="True">
<TextBlock Padding="15,0,30,0" Text="{Binding Path=numitems}" TextAlignment="Right"
DockPanel.Dock="Right"/>
<TextBlock Text="{Binding Path=Text}" DockPanel.Dock="Left" TextAlignment="Left" />
</DockPanel>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
サーバー側コード:
this.treeview2.Items.Add(GetNode());
GetNode は Node 型のリストを再帰的に構築します。
public class Node
{
public string Text { get; set; }
public List<Node> Nodes { get; set; }
public ObservableCollection<Node> Nodes{get;set;} // with list and observable collection same results
public int numitems { get; set; }
}