我有一个在.NET 3.5(C#)TreeNode
中扩展LocationNode
的类。此类是TreeNode
,但包含一些其他数据点以便于提取。显示这些LocationNode
个对象的TreeView具有Drag& amp;删除功能已实现。每个LocationNode
对象都有一个dirty
标志,指示用户是否更改了我关心的任何数据点。巧合的是,我关心的一个数据点是父节点。
我可以在Drag& amp;中实现一些功能。删除代码以确定父节点是否已经变得足够简单,但为了抽象,我希望LocationNode
对象跟踪它们自己的脏标志并在必要时将其设置为true。
有没有办法知道父节点是否已更改?我没有看到任何可以从LocationNode
挂钩的事件,当它从集合中添加或删除时会提醒我。
想法?
答案 0 :(得分:1)
将节点添加到树视图时,存储其父节点(或parent.fullpath),然后在执行脏计算时将当前父节点与存储节点进行比较。然后在您的SetClean()函数中,再次存储当前父级。