我有一个 Windows 8.1 应用程序,我试图在其中使用 CollectionViewSource 实现 3 级层次结构,然后将其绑定到我的语义缩放
我的模型类如下所示
class Transaction
{
string id {get; set;}
string name {get; set;}
DateTimeOffset date {get; set;
}
该模型的样本值可能如下
[1, Food, 31/08/2014]
[2, Movie, 15/08/2014]
[3, Medicine, 20/07/2014]
[4, GameConsole, 02/07/2014]
[5, MobileBill, 18/06/2014]
[4, Tv, 06/06/2014]
我想在我的语义缩放中显示这些数据,这样
- 我的 ZoomedOutView 是一个 GridView,它显示八月、七月和六月等月份。
- 在我的 ZoomedInView 中,数据按日期分组
为此,我必须在我的 CollectionViewSource 中创建这 3 个级别
- 月
- 日期
- 个人交易
上述层次结构的示例数据如下所示
August (Appears in ZoomedOutView only)
August 31
Transaction 1
Transaction 2
August 15
Transaction 3
Transaction 4
August 1
Transaction 5
Transaction 6
July (Appears in ZoomedOutView only)
July 20
Transaction 7
Transaction 8
July 2
Transaction 9
Transaction 10
June (Appears in ZoomedOutView only)
June 10
Transaction 11
Transaction 12
我的语义缩小视图将有
August
July
June
我的语义缩放 ZoomedInView 应该有
August 31
Transaction 1
Transaction 2
August 15
Transaction 3
Transaction 4
August 1
Transaction 5
Transaction 6
July 20
Transaction 7
Transaction 8
July 2
Transaction 9
Transaction 10
June 10
Transaction 11
Transaction 12
我正在尝试将我的列表分组到 CollectionViewSource 中,如下所示
List<Transaction> response = GetTransactions();
var TransactionCollectionViewSource = new CollectionViewSource();
TransactionCollectionViewSource.Source = response.ToGroups(x => x, x => x.date.Month);
TransactionCollectionViewSource.IsSourceGrouped = true;
我有按月分组,现在如何再次将其分组为天?我应该有 2 个 CollectionViewSource 吗?或者是否可以仅使用一个 CollectionViewSource 来实现这一点。我很困惑。
如果有人能指出我正确的方向,我会很高兴。提前致谢。