【发布时间】:2011-07-19 22:58:20
【问题描述】:
好的,我不是编程或 C# 方面的新手,我似乎无法直接在脑海中了解 WPF 的数据绑定。我的同事对此赞不绝口(是的,我也会问他们),但现在我很难过。
这是我想为初学者做的事情:
例如,我有一个 事物 列表,如下所示:
List<Thing> thingList = Source.getList();
现在我通常会去
foreach(Thing t in thingList)
{
//add thing to combobox
}
但据我所知,我可以以某种方式不这样做,而是使用数据绑定来为我填充组合框。
我似乎无法得到的是在哪里我应该把“thingList”放在哪里?我是否在某处将其作为单独的财产?我应该把那个属性放在哪里?
此刻我觉得自己很愚蠢,因为我已经为此苦苦挣扎了一段时间,但我找不到任何可以让我理解这个 - 可能非常简单 - 概念的例子。
有没有人愿意帮助我或指出一些我可能错过的分步指南?
【问题讨论】:
-
如果它类似于 Winforms 数据绑定,你的组合框应该有一个
DataSource属性(或类似的东西),你应该能够设置comboBox.DataSource = Source.getList();只要你设置了DisplayMember和ValueMembers将显示正确的内容,并且 SelectedValue 将检索对象本身。 -
这里有几个 SO 问题可以帮助您朝着正确的方向开始:Binding WPF ComboBox to a Custom List 和 MVVM: Tutorial from start to finish
-
在 WPF 中,诸如 ComboBoxes 和 ListViews 之类的东西被用作数据的可视容器。在代码后面或从文件等中构建和编辑您的列表,并绑定到表单上的控件。
标签: c# wpf data-binding