0

仮定する:

<manufacturer name="A">
  <phone>1</phone>
  <phone>2</phone>
</manufacturer>
<manufacturer name="B">
  <phone>3</phone>
  <phone>4</phone>
</manufacturer>

すべての電話を 1、2、3、4 として表示するように、ItemsSource にデータバインドするきちんとした方法はありますか? Expression Blend を使用して生成すると、次のようになります。

DataContext="{Binding manufacturerCollection[0].phoneCollection}"

1, 2 しか得られません。さらに良いことに、WP7 Silverlight Toolkit の ListPicker でそれらをグループ化する方法はありますか?

4

1 に答える 1

2

ManufacturerCollectionにバインドする代わりに、新しいプロパティを作成し、Linqを使用してコレクションを「フラット化」できます。

public IEnumerable<Phone> Phones { get { return manufacturerCollection.SelectMany(m => m.phoneCollection); }}

(「Phone」をphoneCollectionに格納されているオブジェクトのタイプに置き換えます)

于 2012-04-09T16:17:06.057 に答える