【发布时间】:2011-08-16 23:02:19
【问题描述】:
我会尽力解释这一点......
我只是想理解视图、视图模型和演示者,所以我创建了一个小程序来说明其中的一些细节。我的小应用程序基本上存储专辑。专辑列在一个组合框中,我有艺术家、流派和年份的字段,它们都是文本框。到目前为止,没有问题...我创建了一个绑定源并将其绑定到视图模型(它具有标题、艺术家、流派和年份的属性),它按预期工作。我可以循环浏览组合框,各种文本框会根据组合框的选择而变化。
然后我决定要为每张专辑添加一个歌曲列表,因此我向视图模型添加了一个新的歌曲属性,并向视图添加了一个数据网格视图。这是我变得非常困惑的地方。如果我将用于其他所有内容的绑定源绑定到数据网格视图,它显然只想渲染视图模型的直接字段(基本上重复我在文本框中显示的内容,仅以网格格式)。
假设我对问题的描述已经足够充分,我该怎么做才能在文本框中显示专辑字段并在数据网格视图中显示歌曲?我想我已经得出结论,我只需要第二个绑定源,但如果可能的话,我想避免它。我尝试了一些显而易见的事情,例如将数据网格视图的 DataMember 属性指向“Songs”(视图模型中歌曲集合的属性名称),但没有任何运气。
谁能指出我正确的方向?
【问题讨论】:
标签: c# winforms mvvm datagridview bindingsource