我正在尝试通过 XAML 将对象绑定到 treeviewcontrol WPF,但我将 treview 设为空。当我这样做时,treeview.items.add(GetNode())
它的工作。
我正在使用 MVVM Framework(caliburn.Micro) 我想在 Xaml 中执行此操作,如何在 xaml 中分配项目源属性?我尝试创建 Node 类的属性并在属性中调用方法 GetNode(),并将该属性分配为树视图的 itemssource 并将 List 更改为 Observable 集合。仍然是相同的问题。
工作时 Xamltreeview.items.Add(GetNode())
返回一个节点i
并将节点集合分配给 Hireachial 模板。
<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; }
}