假设:
<manufacturer name="A">
<phone>1</phone>
<phone>2</phone>
</manufacturer>
<manufacturer name="B">
<phone>3</phone>
<phone>4</phone>
</manufacturer>
是否有一种将数据绑定到ItemsSource的简洁方法,以便将所有手机显示为1,2,3,4?如果我只是使用Expression Blend生成它,它会给出
DataContext="{Binding manufacturerCollection[0].phoneCollection}"
只提供1,2。更好的是,有没有办法在WP7 Silverlight Toolkit的ListPicker中对它们进行分组?
答案 0 :(得分:2)
您可以创建新属性并使用Linq“展平”您的集合,而不是绑定到manufacturerCollection:
public IEnumerable<Phone> Phones { get { return manufacturerCollection.SelectMany(m => m.phoneCollection); }}
(用phoneCollection中存储的对象类型替换'Phone')