2

我有一个TreeNode在 .NET 3.5 (C#) 中扩展的类,LocationNode. 这个类是一个TreeNode但包含一些额外的数据点以便于提取。显示这些LocationNode对象的 TreeView 实现了拖放功能。每个LocationNode对象都有一个dirty标志,指示我关心的任何数据点是否被用户更改。巧合的是,我关心的数据点之一是父节点。

我可以在拖放代码中实现一些功能,以确定父节点是否已经足够容易地更改,但为了抽象起见,我希望LocationNode对象跟踪自己的脏标志并在必要时将其设置为 true。

有什么方法可以知道父节点是否发生了变化?我没有看到任何可以挂钩的事件,LocationNode当它从集合中添加或删除时会提醒我。

想法?

4

1 回答 1

1

当您将节点添加到树视图时,存储其父节点(或 parent.fullpath),然后在进行脏计算时将当前父节点与存储的父节点进行比较。然后在您的 SetClean() 函数中,再次存储当前父级。

于 2012-09-13T22:34:29.470 回答