在树视图中取消选择

本文关键字:取消 选择 视图 | 更新日期: 2023-09-27 18:00:19

所以我有一个wpf c#应用程序,它是从文件中获取信息,将它们加载到列表中,然后将列表加载到treeView上,它还有编辑、删除、添加信息的按钮,我要做的是编辑列表中的信息,然后用编辑后的列表信息覆盖文本文件,然后有一个更新按钮用于更新treeView,当我更新treeView时,我删除了列表中的所有内容,然后用更新的文本文件重新加载列表,然后清除treeView,然后将列表数据重新加载到treeView中。现在,它在我的更新中崩溃的原因是在这一行 treeView1.Items.Clear(); 上,然后它把我带到我的treeView1_SelectedItemChanged代码中的这一行string selectName = ((TreeViewItem)(treeView1.SelectedItem)).Header.ToString();,所以我理解它崩溃的原因,有没有办法让它在我清除之前取消选择treeView中的任何内容,这样它就不会试图清除选定的项目。谢谢名称和详细信息都在列表中。

在树视图中取消选择

尝试添加一个在清除树视图时会脱落的标志。然后将操作事件主体代码放入if检查标志

treeView1.SelectedItem

将为null,因为您刚刚清除了树视图。

您应该问问自己,尝试在树视图中获取其项刚刚被清除的项的标题有什么意义,并说明为什么在程序中的该点调用该行。

如果没有更多的上下文,我无法进一步帮助你。

编辑:对不起,我误解了你的要求。是的,您可以清除选定内容,但这也会导致选定内容更改事件触发。您应该做的是在继续之前在事件处理程序中检查SelectedItem不为null。