0

私のメトロアプリケーションでは、ページのセマンティックビューを作成したいと思います。

そのために、foreachループを使用してグループ化されたコレクションオブジェクトを手動で作成しています。何らかの理由で、オブジェクトコレクションをグループ化するためにLINQを使用していません。

したがって、セマンティックズームを設定しようとすると、何も表示されません(セマンティックズームは表示されません)。

自分のコレクションをグループ化されたコレクションソースにバインドするにはどうすればよいですか?

XAML

  <CollectionViewSource x:Name="GroupedSource"  IsSourceGrouped="true" />

ファイルの背後にあるコード

  GroupedSource.Source =context.Collection; // my own grouped collection..

LINQを使用すると正常に動作しますが、いくつかの理由でlINQを使用できません

取得するために私がする必要がある他に何かありますか

4

2 に答える 2

0

もう少し詳細が必要ですが。IsSourceGrouped="true" は、階層データソースにバインドしない限り、話の半分にすぎません。CollectionViewSource の xaml プロパティとして、子コレクション - ItemsPath="myItems" を含むプロパティを指定する必要があります。それが問題でない場合は、実行の優先順位のケースである可能性があります。ブレークポイントを配置し、context.Collection が使用される前に入力されていることを確認します。context.Collection が ObservableCollection である場合は、いつでも入力できるはずです (つまり、非同期フィル)。

<CollectionViewSource x:Name="GroupedSource"  IsSourceGrouped="true" ItemsPath="Items" /> 
于 2012-09-11T05:04:21.143 に答える
0

次のコードを使用してソースを設定してみてください。

(semanticZoom.ZoomedOutView as ListViewBase).ItemsSource = GroupedSource.View.CollectionGroups;
于 2012-04-26T12:15:07.057 に答える