Silverlight:如何在代码隐藏中的ComboBox ItemsSource上设置转换器?

时间:2010-12-17 15:26:12

标签: silverlight itemssource

我有一个组合框在运行时使用来自loadoperation的值填充(我正在使用RIA服务)

        cboSite.ItemsSource = lo.Entities;

但是,我希望能够在组合框中显示的列表顶部添加一个空项,所以按照此处给出的示例:

http://clr-namespace.com/post/SilverlightWPF-ComboBox-with-Empty-Item-allows-user-to-go-back-to-no-selection.aspx

我正在尝试使用转换器将项目插入列表顶部。但是,我遇到的问题是我似乎无法弄清楚如何在代码背后指定转换器!

任何想法如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

如果您愿意从代码隐藏中分配ItemsSource,则可以在同一个地方转换Entities。像这样:

var converter = new AddEmptyItemConverter();
var converted = (IEnumerable<Entity>)converter.Convert(lo.Entities,
                                                       typeof(IEnumerable<Entity>),
                                                       null,
                                                       null);
 cboSite.ItemsSource = converted;

Entity应该是Entities集合元素的类型。