【发布时间】:2011-06-11 23:32:09
【问题描述】:
如果我想在代码隐藏中绑定诸如组合框之类的东西,我完全没有问题。类似的东西:
List<string> strings = new List<string>();
AddStringsFromDataSourceToList(strings);
comboBox1.ItemSource = strings;
据我所知,在 XAML 中没有快速而肮脏的方法来执行此操作。对于 wpf 因其超级简单的数据绑定而受到的所有赞誉,这种简单的事情在 C# 中似乎要容易得多。有没有比创建 DependencyProperty 包装器并将它们添加为资源更简单的方法,而无需智能感知或所有进入 ObservableCollections 的帮助?我知道这并非不可能,但如果这样一个简单的任务看起来如此深入,我一定会错过一些东西......
编辑:澄清一下,添加动态列表是这里的问题,而不是静态数组。正如许多人所指出的那样,手动添加项目非常容易。
【问题讨论】:
-
WPF 之所以受到赞誉,是因为它可以很好地将逻辑与设计等分开,而不是因为它可以做任何事情。
-
@Disappointment- 这不是太疯狂...当然不是“任何东西”。它是构建应用程序中最常见的任务之一的简单问题。
-
我知道这并不疯狂;但是一旦你开始自满并按照“我将把这段数据嵌入到 UI 中......”的思路工作,谁知道它会在哪里结束呢?如果我们谈论的“数据”本质上可以被视为 UI 的一部分,例如常见且恒定的下拉选项列表,那么通常是抽象和重用的使用容器。顺便说一句,我不是在攻击你、问题或方法,只是陈述一些事情。
标签: c# wpf xaml data-binding binding