Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 限制在WPF中扩展TreeNode时TreeView的深度_C#_Wpf_Xaml_Treeview - Fatal编程技术网

C# 限制在WPF中扩展TreeNode时TreeView的深度

C# 限制在WPF中扩展TreeNode时TreeView的深度,c#,wpf,xaml,treeview,C#,Wpf,Xaml,Treeview,我通过MVVM使用绑定到我的类的WPF TreeView来显示大量的多级数据。因此,当我展开TreeNode时,需要一些时间和大量内存 我认为,内存需求来自TreeView对节点的搜索,而不仅仅是第一代子节点,迫使这些节点加载数据 有没有办法将这种“搜索”行为仅限于第一代子节点?WPF仅在显示树项时生成树项,即在父节点展开之前不生成任何项。因此,我认为问题不在于“侦察” 无论如何,您可以尝试通过使用双向绑定添加与TreeViewItem.IsExpanded的同步,在ViewModel中实现动态

我通过MVVM使用绑定到我的类的WPF TreeView来显示大量的多级数据。因此,当我展开TreeNode时,需要一些时间和大量内存

我认为,内存需求来自TreeView对节点的搜索,而不仅仅是第一代子节点,迫使这些节点加载数据

有没有办法将这种“搜索”行为仅限于第一代子节点?

WPF仅在显示树项时生成树项,即在父节点展开之前不生成任何项。因此,我认为问题不在于“侦察”


无论如何,您可以尝试通过使用双向绑定添加与TreeViewItem.IsExpanded的同步,在ViewModel中实现动态加载。看一看。您可以对IsExpanded属性使用相同的解决方案。别忘了添加假项目,告诉TreeView项目它是可扩展的。

检查TreeView是否正在使用VirtualzingStackPanel。我相信默认情况下在.NET 4.0中使用它,但您必须在以前的.NET版本中明确设置它

有关详细信息,请参阅