0

在我的 Metro 应用程序中,我想为页面创建一个语义视图。

为此,我正在使用 foreach 循环手动创建分组集合对象。由于某种原因,我没有使用 LINQ 对对象集合进行分组。

所以现在当我尝试填充语义缩放时,它什么都不显示(没有语义缩放)。

如何将我自己的集合绑定到分组集合源

XAML

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

文件隐藏代码

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

使用 LINQ 时它工作正常。但由于某些原因我不能使用 LINQ

我还需要做什么才能得到

4

2 回答 2

0

尝试使用此代码设置源:

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

需要更多细节,但是。除非您绑定到分层数据源,否则 IsSourceGrouped="true" 只是故事的一半。您需要指定包含子集合的属性 - ItemsPath="myItems" 作为 CollectionViewSource 的 xaml 属性。如果这不是问题,则可能是执行的先决条件。放置一个断点并检查 context.Collection 在使用之前是否已填充,如果 context.Collection 是 ObservableCollection 您应该可以随时填充(即异步填充)。

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