CollectionViewSource を使用して 3 レベルの階層を実現し、それをセマンティック ズームにバインドしようとしている Windows 8.1 アプリケーションがあります。
私のモデルクラスは次のようになります
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 は、8 月、7 月、6 月などの月を表示する 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;
groupby month を取得しましたが、これを日ごとにグループ化するにはどうすればよいですか? CollectionViewSource を 2 つ持つ必要がありますか? または、1 つの CollectionViewSource だけでこれを達成することは可能ですか。私は混乱しています。
誰かが私を正しい方向に向けることができれば、とてもうれしいです。前もって感謝します。