C# 将ChildItem添加到TreeView';s SelectedItem
我的WPF应用程序中有一个C# 将ChildItem添加到TreeView';s SelectedItem,c#,wpf,treeview,selecteditem,C#,Wpf,Treeview,Selecteditem,我的WPF应用程序中有一个TreeView。用户可以在此树视图中创建类别。现在我想向树视图的所选项目添加一个项目。如何将childItem添加到树视图中的选定项中 下面的代码不起作用,我如何着手修复它 我目前的代码是: if (treeViewCategories.SelectedItem != null) { //Unable to cast the SelectedItem to a TreeViewItem('System.String' to 'System.Windows.co
TreeView
。用户可以在此树视图中创建类别。现在我想向树视图的所选项目添加一个项目。如何将childItem
添加到树视图中的选定项中
下面的代码不起作用,我如何着手修复它
我目前的代码是:
if (treeViewCategories.SelectedItem != null)
{
//Unable to cast the SelectedItem to a TreeViewItem('System.String' to 'System.Windows.constrol.TreeViewItem)
TreeViewItem selectedItem = (TreeViewItem)treeViewCategories.SelectedItem;
selectedItem.Items.Add(pictureList[counter]);
}
WPF中的TreeView
有一个名为的属性
你应该SelectedValue
是由SelectedValuePath为SelectedItem指定的属性的“值”,而不是我上面显示的实际的SelectedItem
。如果您提供多一点信息,可能有助于避免这些否决票,您是从mvvm开始的吗?向我们展示一个小代码,说明您要添加此子条目的位置。您尝试过什么吗?什么事?咳嗽COUGH@tnw您提供的链接是针对Windows窗体应用程序的。我的标签上写着WPF。TreeView.SelectedItem.Items.Add。在wpf中不可用。问题是我得到了无法将“System.String”类型的对象强制转换为“System.Windows.Controls.TreeItem”。这就是为什么我开始尝试上面的代码,但没有结果。@daJbot好的,错误消息非常简单。你应该再读一遍。您传递的是Add
astring
,而不是TreeViewItem
。我在这里展示的代码没有问题。您甚至在前面就做对了:TreeViewItem newChild=newtreeviewitem();newChild.Header=图片列表[计数器]代码>使用该选项,然后添加newChild
将代码更改为您建议的代码后,仍然会出现相同的错误。错误似乎是在我尝试将SelectedItem强制转换为TreeViewItem(代码的第一行)时发生的。不知道为什么,因为SelectedItem是一个TreeViewItem,所以它应该可以工作。当你想给自己一个超级掌心的时候。我在添加新类别时搞砸了。在那里,我添加了一个字符串,而不是一个TreeViewItem。我很抱歉,谢谢你的帮助@daJbot发布你所拥有的东西,这绝对没有意义。编辑:很高兴听到,很乐意帮忙。
TreeViewItem selectedTVI = (TreeViewItem)myTreeView.SelectedItem;
selectedTVI.Items.Add(newChild);