如何解决C#WPF删除树视图中的选中项
| 如果我有这样的树状视图: 书 ->物品 光盘 ->物品 并且每个项目都包含一个复选框,我如何删除所有选中的复选框。 注意:我不使用treenode。 我有一个包含3个树状视图项目的树状视图(即book,cd和dvd)。动态创建节点:TreeViewItem newChild = new TreeViewItem();
newChild.Header = cBox;
如果例如5 treeviewitems被选中(删除),那么我想删除它们。
解决方法
我认为您需要这样的东西:
void DeleteSelectedItems(TreeView root)
{
var todelete = List<TreeViewItem>();
GetSelectedItems(root.Items,todelete);
foreach(var it in todelete)
{
var parent = it.Parent;
parent.Items.Remove(it);
}
}
void GetSelectedItems(ItemsCollection tree,List<TreeViewItem> todelete)
{
foreach(var it in tree)
{
if (((it as TreeViewItem).Header as CheckBox).Checked)
todelete.Add(it);
else
GetSelectedItems(it.Items,todelete);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。