【问题标题】:Binding Dictionary<,>.Keys.Count to a Label将 Dictionary<,>.Keys.Count 绑定到标签
【发布时间】:2009-10-09 11:30:59
【问题描述】:

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

我用 Binding 类试过了:

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

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

是否有其他方法可以自动更新我的 Dictionary 的 Item-Count 显示?

提前致谢, 弗兰克

【问题讨论】:

    标签: c# binding dictionary


    【解决方案1】:

    这在多个层面上都行不通:

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

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

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

    【讨论】:

    • 同意,似乎走捷径路很长。
    • 是的,我通过触发一个事件来解决它,当字典被更改并在我的表单中使用这个事件。
    猜你喜欢
    • 1970-01-01
    • 2012-12-19
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    • 2014-01-01
    • 1970-01-01
    相关资源
    最近更新 更多