将所选内容设置为WPF树视图中新添加的项目
我使用将所选内容设置为WPF树视图中新添加的项目,wpf,treeview,selecteditem,Wpf,Treeview,Selecteditem,我使用TreeView让用户更容易地浏览复杂的数据结构。我正在尝试向我的应用程序添加一个功能,以便我的用户可以通过单击工具栏上的按钮向datastucture添加新项目。此新项目有3个级别,每个级别有1个项目。我想选择最低级别的项目 添加数据不是问题,我只是向集合中添加一个新项,该集合绑定到特定的TreeView。我可以通过手动浏览TreeView来查找该项目,因此我知道添加是有效的。现在,我想通过编程设置新项目的选择。因此,用户可以立即更改元素中的默认设置 我做了一些测试,发现设置选择是通过以
TreeView
让用户更容易地浏览复杂的数据结构。我正在尝试向我的应用程序添加一个功能,以便我的用户可以通过单击工具栏上的按钮向datastucture添加新项目。此新项目有3个级别,每个级别有1个项目。我想选择最低级别的项目
添加数据不是问题,我只是向集合中添加一个新项,该集合绑定到特定的TreeView
。我可以通过手动浏览TreeView
来查找该项目,因此我知道添加是有效的。现在,我想通过编程设置新项目的选择。因此,用户可以立即更改元素中的默认设置
我做了一些测试,发现设置选择是通过以下方式完成的:
var obj = TreeView.ItemContainerGenerator
.ContainerFromItem(selectedObject) as TreeViewItem;
obj.IsSelected = true;
我尝试在Add方法之后直接添加此代码。adding函数返回新对象并将其放置在selectedObject中。Add方法将a添加到可观测集合
,从而引发相应的事件
但是,obj在添加之后总是直接为空
我已经尝试在LayoutUpdated事件中设置选择,但是在这种情况下,前面代码中的obj变量总是再次为空
我想我可能遗漏了什么。有没有人知道如何将新项添加到绑定集合中,并在TreeView
中选择该项?您可能希望阅读Josh Smith关于在WPF中使用TreeView的文章。他演示了如何使用IsSelected属性,该属性可以使用MVVM模式轻松地适应您的需要