将字典<,> .Keys.Count绑定到标签

时间:2009-10-09 11:30:59

标签: c# binding dictionary

我有一个字典,想要用Label显示这个字典中的项目数,而不是每次在字典中添加或删除项目时都手动更新标签。

我尝试使用Binding类:

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

不幸的是,无法绑定“Count”-Property(至少它会抛出一个参数异常,说他不能将Property Count绑定到DataSource)。

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

提前致谢, 弗兰克

1 个答案:

答案 0 :(得分:3)

这在多个层面都不起作用:

  • 您无法绑定到容器的属性(例如Keys) - 它假定您想要容器中的第一个项目(即.Keys[0].Count
  • 字典不提供通知事件

要做你想做的事,你可能必须拥有自己的字典实现(或子类)和notofication事件,手动传播更高级别的对象(datagraphDisplay)作为外观属性,转发事件。

我怀疑,手动更新会更容易。

相关问题