0

我想询问在这种情况下我应该如何实施解决方案的意见。

DataItem A = someDataItem;
DataItem B = someDataItem;
DataItem C = someDataItem;
DataItem D = someDataItem;

//CreateNode : this function convert the DataItem into TreeNode
TreeNode nodeA = CreateNode(A);
TreeNode nodeB = CreateNode(B);
TreeNode nodeC = CreateNode(C);
TreeNode nodeD = CreateNode(D);

//add the nodes to a TreeView component here
treeView.Nodes.Add(nodeA);
treeView.Nodes.Add(nodeB);
treeView.Nodes.Add(nodeC);
treeView.Nodes.Add(nodeD);

List<DataItem> specialWatchedNodeList = new List<DataItem>();
specialWatchedNode.Add(nodeA);
specialWatchedNode.Add(nodeD);

我有treeView包含所有节点的。但是,我只有其中一些我想被监视(被监视)=>(nodeAnodeD)。nodeA如果在和nodeD中发生任何事情treeView,我应该如何更新nodeAnodeD在 中specialWatchedNodeList

4

1 回答 1

1

通过在 DataItem 类上实现 INotifyPropertyChanged 接口,您可以在 DataItem 更改时接收事件。

http://msdn.microsoft.com/en-us/library/ms743695(v=vs.100).aspx

您需要声明PropertyChanged事件,然后创建OnPropertyChanged方法。对于您想要更改通知的每个属性,只要属性更新,您就调用OnPropertyChanged 。

于 2012-10-04T13:37:57.517 回答