Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.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# 将ChildItem添加到TreeView';s SelectedItem_C#_Wpf_Treeview_Selecteditem - Fatal编程技术网

C# 将ChildItem添加到TreeView';s SelectedItem

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

我的WPF应用程序中有一个
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
a
string
,而不是
TreeViewItem
。我在这里展示的代码没有问题。您甚至在前面就做对了:
TreeViewItem newChild=newtreeviewitem();newChild.Header=图片列表[计数器]使用该选项,然后添加
newChild
将代码更改为您建议的代码后,仍然会出现相同的错误。错误似乎是在我尝试将SelectedItem强制转换为TreeViewItem(代码的第一行)时发生的。不知道为什么,因为SelectedItem是一个TreeViewItem,所以它应该可以工作。当你想给自己一个超级掌心的时候。我在添加新类别时搞砸了。在那里,我添加了一个字符串,而不是一个TreeViewItem。我很抱歉,谢谢你的帮助@daJbot发布你所拥有的东西,这绝对没有意义。编辑:很高兴听到,很乐意帮忙。
TreeViewItem selectedTVI = (TreeViewItem)myTreeView.SelectedItem;
selectedTVI.Items.Add(newChild);