@@ -13,17 +13,17 @@ namespace CommunityToolkit.Mvvm.Collections;
13
13
/// <summary>
14
14
/// A read-only list of groups.
15
15
/// </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 > >
19
19
where TKey : notnull
20
20
{
21
21
/// <summary>
22
22
/// Initializes a new instance of the <see cref="ReadOnlyObservableGroupedCollection{TKey, TValue}"/> class.
23
23
/// </summary>
24
24
/// <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 ) ) ) )
27
27
{
28
28
collection . CollectionChanged += OnSourceCollectionChanged ;
29
29
}
@@ -32,7 +32,7 @@ public ReadOnlyObservableGroupedCollection(ObservableCollection<ObservableGroup<
32
32
/// Initializes a new instance of the <see cref="ReadOnlyObservableGroupedCollection{TKey, TValue}"/> class.
33
33
/// </summary>
34
34
/// <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 )
36
36
: base ( collection )
37
37
{
38
38
}
@@ -59,17 +59,17 @@ static void ThrowNotSupportedExceptionForRangeOperation()
59
59
}
60
60
61
61
// 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 ;
63
63
64
64
switch ( e . Action )
65
65
{
66
66
// Insert a single item for an "Add" operation, fail if multiple items are added
67
67
case NotifyCollectionChangedAction . Add :
68
68
if ( e . NewItems ! . Count == 1 )
69
69
{
70
- ObservableGroup < TKey , TValue > newItem = ( ObservableGroup < TKey , TValue > ) e . NewItems ! [ 0 ] ! ;
70
+ ObservableGroup < TKey , TElement > newItem = ( ObservableGroup < TKey , TElement > ) e . NewItems ! [ 0 ] ! ;
71
71
72
- items . Insert ( e . NewStartingIndex , new ReadOnlyObservableGroup < TKey , TValue > ( newItem ) ) ;
72
+ items . Insert ( e . NewStartingIndex , new ReadOnlyObservableGroup < TKey , TElement > ( newItem ) ) ;
73
73
}
74
74
else if ( e . NewItems ! . Count > 1 )
75
75
{
@@ -95,9 +95,9 @@ static void ThrowNotSupportedExceptionForRangeOperation()
95
95
case NotifyCollectionChangedAction . Replace :
96
96
if ( e . OldItems ! . Count == 1 && e . NewItems ! . Count == 1 )
97
97
{
98
- ObservableGroup < TKey , TValue > replacedItem = ( ObservableGroup < TKey , TValue > ) e . NewItems ! [ 0 ] ! ;
98
+ ObservableGroup < TKey , TElement > replacedItem = ( ObservableGroup < TKey , TElement > ) e . NewItems ! [ 0 ] ! ;
99
99
100
- items [ e . OldStartingIndex ] = new ReadOnlyObservableGroup < TKey , TValue > ( replacedItem ) ;
100
+ items [ e . OldStartingIndex ] = new ReadOnlyObservableGroup < TKey , TElement > ( replacedItem ) ;
101
101
}
102
102
else if ( e . OldItems ! . Count > 1 || e . NewItems ! . Count > 1 )
103
103
{
0 commit comments