什么会导致一个树视图崩溃,除了呼吁。崩溃()方法上树节点或.CollapseAll()方法的树视图?

在一个应用程序,我的发展,树视图只是不会表现得正常。树视图维持仅有的两个水平。当选择一个孩子的父母一点,所有其他节点立即崩溃。然而,有些没有。崩溃()or。CollapseAll()方法,呼吁在我的代码任何!

所有特性的树视图都留在他们的默认值除外。LabelEdit财产,这是设置为真实的。树视图有一些代码相关的内AfterLabelEdit事件对于一个简单的验证/消息框的常规。

我已经试过:

  • 钩住BeforeCollapse事件的 树视图并提高 e.CancelAction标志。

  • 手动扩大所有节点 在树视图的AfterSelect 事件。(这种工作 实验,但我不打算 禁止节点崩溃
    完全!)

在许多点内的代码,我迭代过树视图,节点由节点,以检查的性质。然而,没有增加或删除的节点发生。只有树节点的性修改用户使选择。ImageIndex。SelectedImageIndex.

比其它两个解决方案上,我没有任何线索可能导致这一错误。即使没有解决方案可以实现的,可能任何人都有一个想法关于适当的方式去捕获的崩溃?(我们试图设置一个断点内BeforeCollapse事件,但是它没有触发,除非用户的明确的崩溃节点可通过鼠或键盘。)


更新:

该问题是由于chaging。SelectedImageIndex财产上的任何树节点.改变这种财产会导致所有其他节点崩溃。

我已经试图包围。SelectedImageIndex财产的修改的代码。"BeginUpdate"()and。EndUpdate()电话无济于事。

这怎么可以避免?

有帮助吗?

解决方案

这是一个副作用的方式的机windows工作的窗口。许多窗口选择是指定由风格的标志在如下()call.基本的东西,什么样的边界,看起来像一个形式。什么样的图一列表视图应该具备的。是否树视图应显示选框。

这些风格都暴露作为性质上的控制。但有一个问题。改变这样一个酒店需要的窗口是重新从头开始以新的风格,标志可以指定在如下()call.有副作用,该窗口获得完全重建,使它失去了所有以前的状态。

Windows形式做了很好的工作,使这看起来顺利,恢复以前的状态之后重新窗口。但它有泄漏在这里和那里。和几个彻底的错误。一个漏在树视图是确切的国家的哪些节点是倒塌,哪些不是。跟踪这只是不实际的。

诊断这种把处理财产的树视图在看窗口。如果你看到这一改变,你已经找到的财产。列表格提供的标志 在这里, 你也许可以映他们的名字给他们的相应财产。

也许是很显然,没有大的变通办法对于这个问题,比其他避免改变这种财产。麻烦这样是什么生WPF.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top