@@ -13,17 +13,17 @@ namespace CommunityToolkit.Mvvm.Collections;
1313/// <summary>
1414/// A read-only list of groups.
1515/// </summary>
16- /// <typeparam name="TKey">The type of the group key .</typeparam>
17- /// <typeparam name = "TValue" > The type of the items in the collection.</typeparam>
18- public sealed class ReadOnlyObservableGroupedCollection < TKey , TValue > : ReadOnlyObservableCollection < ReadOnlyObservableGroup < TKey , TValue > >
16+ /// <typeparam name="TKey">The type of the group keys .</typeparam>
17+ /// <typeparam name="TElement"> The type of elements in the collection.</typeparam>
18+ public sealed class ReadOnlyObservableGroupedCollection < TKey , TElement > : ReadOnlyObservableCollection < ReadOnlyObservableGroup < TKey , TElement > >
1919 where TKey : notnull
2020{
2121 /// <summary>
2222 /// Initializes a new instance of the <see cref="ReadOnlyObservableGroupedCollection{TKey, TValue}"/> class.
2323 /// </summary>
2424 /// <param name="collection">The source collection to wrap.</param>
25- public ReadOnlyObservableGroupedCollection ( ObservableCollection < ObservableGroup < TKey , TValue > > collection )
26- : base ( new ObservableCollection < ReadOnlyObservableGroup < TKey , TValue > > ( collection . Select ( static g => new ReadOnlyObservableGroup < TKey , TValue > ( g ) ) ) )
25+ public ReadOnlyObservableGroupedCollection ( ObservableCollection < ObservableGroup < TKey , TElement > > collection )
26+ : base ( new ObservableCollection < ReadOnlyObservableGroup < TKey , TElement > > ( collection . Select ( static g => new ReadOnlyObservableGroup < TKey , TElement > ( g ) ) ) )
2727 {
2828 collection . CollectionChanged += OnSourceCollectionChanged ;
2929 }
@@ -32,7 +32,7 @@ public ReadOnlyObservableGroupedCollection(ObservableCollection<ObservableGroup<
3232 /// Initializes a new instance of the <see cref="ReadOnlyObservableGroupedCollection{TKey, TValue}"/> class.
3333 /// </summary>
3434 /// <param name="collection">The source collection to wrap.</param>
35- public ReadOnlyObservableGroupedCollection ( ObservableCollection < ReadOnlyObservableGroup < TKey , TValue > > collection )
35+ public ReadOnlyObservableGroupedCollection ( ObservableCollection < ReadOnlyObservableGroup < TKey , TElement > > collection )
3636 : base ( collection )
3737 {
3838 }
@@ -59,17 +59,17 @@ static void ThrowNotSupportedExceptionForRangeOperation()
5959 }
6060
6161 // The inner Items list is ObservableCollection<ReadOnlyObservableGroup<TKey, TValue>>, so doing a direct cast here will always succeed
62- ObservableCollection < ReadOnlyObservableGroup < TKey , TValue > > items = ( ObservableCollection < ReadOnlyObservableGroup < TKey , TValue > > ) Items ;
62+ ObservableCollection < ReadOnlyObservableGroup < TKey , TElement > > items = ( ObservableCollection < ReadOnlyObservableGroup < TKey , TElement > > ) Items ;
6363
6464 switch ( e . Action )
6565 {
6666 // Insert a single item for an "Add" operation, fail if multiple items are added
6767 case NotifyCollectionChangedAction . Add :
6868 if ( e . NewItems ! . Count == 1 )
6969 {
70- ObservableGroup < TKey , TValue > newItem = ( ObservableGroup < TKey , TValue > ) e . NewItems ! [ 0 ] ! ;
70+ ObservableGroup < TKey , TElement > newItem = ( ObservableGroup < TKey , TElement > ) e . NewItems ! [ 0 ] ! ;
7171
72- items . Insert ( e . NewStartingIndex , new ReadOnlyObservableGroup < TKey , TValue > ( newItem ) ) ;
72+ items . Insert ( e . NewStartingIndex , new ReadOnlyObservableGroup < TKey , TElement > ( newItem ) ) ;
7373 }
7474 else if ( e . NewItems ! . Count > 1 )
7575 {
@@ -95,9 +95,9 @@ static void ThrowNotSupportedExceptionForRangeOperation()
9595 case NotifyCollectionChangedAction . Replace :
9696 if ( e . OldItems ! . Count == 1 && e . NewItems ! . Count == 1 )
9797 {
98- ObservableGroup < TKey , TValue > replacedItem = ( ObservableGroup < TKey , TValue > ) e . NewItems ! [ 0 ] ! ;
98+ ObservableGroup < TKey , TElement > replacedItem = ( ObservableGroup < TKey , TElement > ) e . NewItems ! [ 0 ] ! ;
9999
100- items [ e . OldStartingIndex ] = new ReadOnlyObservableGroup < TKey , TValue > ( replacedItem ) ;
100+ items [ e . OldStartingIndex ] = new ReadOnlyObservableGroup < TKey , TElement > ( replacedItem ) ;
101101 }
102102 else if ( e . OldItems ! . Count > 1 || e . NewItems ! . Count > 1 )
103103 {
0 commit comments