2010-12-04 25 views
4

GridViewの列を表すオブジェクトのコレクションがあります。 現在、私はこのようなコレクション内の項目に私のGridView内の個々の列を結合しています:XAMLを使用してGridViewのColumnCollectionにバインドする方法

<ListView> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Header="{Binding Path=MyColumns[0].Title}"></GridViewColumn> 
      <GridViewColumn Header="{Binding Path=MyColumns[1].Title}"></GridViewColumn> 
      <GridViewColumn Header="{Binding Path=MyColumns[2].Title}"></GridViewColumn> 
     </GridView> 
    </ListView.View> 
</ListView> 

これはうまく動作しますが、私が本当にやりたいことの項目数以来、コレクション自体(と結合することです実行時にコレクションが変更される可能性があります)。私はXAMLでこれを達成したいと思います。私が考えているが、このようなもの(これは動作しませんのでご注意 - ColumnsSource属性はメイクと信じている)されています。これは、

<ListView> 
    <ListView.View> 
     <GridView ColumnsSource="{Binding Path=MyColumns}"> 
     </GridView> 
    </ListView.View> 
</ListView> 

を行うことができますか?もしそうなら、どうですか?

+1

http://stackoverflow.com/q/1863200/503969で重複が見つかりましたが、言い回しとプレゼンテーションは全く異なります。 –

答えて

2

attached propertyを使用してColumnsSourceプロパティを作成できます。例についてはthis questionを参照してください。

+0

これは 'ItemsSource'ですが、' ColumnsSource'では実行できません。 –

+0

@GregSansom:いいえ、私は 'ItemsSource'について話していません。あなたは私の意見を理解したようではない、私がリンクしている質問を見る... –

関連する問題