2009-10-09 46 views
1

我有一个字典,并希望显示带有标签的字典中的项目数量,而不必每次从字典中添加或删除项目时手动更新标签。绑定字典<,>。键盘计数到标签

我尝试了用Binding类:

Binding bindingNodeCount = new Binding("Text", _graphDisplay.data.nodes.Keys, "Count"); 
labelNumberOfNodes.DataBindings.Add(bindingNodeCount); 

不幸的是,它是不可能绑定“计数”,物业(至少我抛出参数异常,他说他不能绑定属性计数到数据源)。

是否有其他方法来自动更新我的字典的项目计数的显示?

由于提前, 弗兰克

回答

3

这是行不通的,多层次的:

  • 你不能绑定到容器的属性(如Keys) - 它假定你想从容器中的第一项(即.Keys[0].Count
  • 字典不提供通知事件

做你想做什么,你可能必须有自己的字典实现(或子类)与notofication事件,手动传播,较高级别的对象(datagraphDisplay)作为幌子财产,前进事件。

我怀疑是手动更新它会更容易。

+0

同意,似乎是一个捷径的很长一段路。 – James 2009-10-09 12:15:35

+0

邑,我解决了它通过发射一个事件,当字典改变,并消耗我的形式这个事件。 – Aaginor 2009-10-09 13:24:19