字典内容更改时运行功能

时间:2016-11-25 13:29:42

标签: c# winforms listview dictionary

我有一些ListViews取决于Dictionary<string,string>的内容。我还为每个字典使用一个函数来更新其关联的ListView。但是,这些必须手动调用,如果忘记这会导致各种问题。是否可以在字典中的任何值发生变化时调用函数?

我最初的想法是使用DataBinding,但Listview不支持WinForms或提出一些自定义事件,但我甚至不知道从哪里开始。

有没有一种简单的方法来实现这一目标?

为了澄清我正在谈论具有这种效果的事情:

Dictionary[key] = "this";  //Automatically runs UpdateDictionaryBox();
Dictionary.Add(key,value); //The same
Dictionary.Remove(key);    //And again

1 个答案:

答案 0 :(得分:0)

Tim Schmelter的所有评价都是他的评论引导我找到这个解决方案的!

基本上,最简单的方法是围绕Dictionary<string,string>ListView创建一个包装类,然后使用它来实现所需的所有字典方法,并在{{}结束时调用更新。 {1}},.Add .Remove等。

这样,一旦正确实现了类,它就会模拟数据绑定。

我得到的课程是:

[key] = value

注意:上述内容尚未完全测试,目前尚未完全实现所有方法,但它显示了此功能所需的一般框架。