我在用.NET 2.0,我正在try 将combobox的数据源绑定到一个排序字典.

所以我得到的错误是"在数据源上找不到DataMember属性‘Key’".

        SortedDictionary<string, int> userCache = UserCache.getSortedUserValueCache();
        userListComboBox.DataSource = new BindingSource(userCache, "Key"); //This line is causing the error
        userListComboBox.DisplayMember = "Key";
        userListComboBox.ValueMember = "Value";

推荐答案

SortedDictionary<string, int> userCache = new SortedDictionary<string, int>
{
  {"a", 1},
  {"b", 2},
  {"c", 3}
};
comboBox1.DataSource = new BindingSource(userCache, null);
comboBox1.DisplayMember = "Key";
comboBox1.ValueMember = "Value";

但是为什么要将ValueMember设置为"value",难道不应该将它绑定到"key"(以及DisplayMember绑定到"value")吗?

.net相关问答推荐

从Couchbase删除_txn文档的推荐方法?""

NuGet 兼容与计算框架(Xamarin 和 .NET 6)

竖线在 PropertyGroup .csproj 文件中的含义

cmd 冻结中的 dotnet 命令.怎么了?

C#/.NET + VisualStudio,命名空间问题

根源是什么?

如何中止任务,如中止线程(Thread.Abort 方法)?

隐式与显式接口实现

C# 的浮点比较函数

从 .NET 中的字符串末尾修剪字符串 - 为什么会丢失?

String.Format - 它是如何工作的以及如何实现自定义格式字符串

关闭 Visual Studio 中所有选项卡但当前选项卡的键盘快捷键?

.NET 的 String.Normalize 有什么作用?

.NET Framework SDK 和 Targeting 包有什么区别

您可以使用 Xamarin 开发 Linux 应用程序吗?

C# 中的 F# List.map 类似功能?

如何在安装后立即启动 .NET Windows 服务?

在 WPF 中设置 Tab 键顺序

如何使用 AutoMapper .ForMember?

无法添加对 dll 的引用