1
- using System ;
1
+ using Microsoft . AnyContainer ;
2
+ using System ;
2
3
using System . Collections . Generic ;
3
4
using System . Linq ;
4
5
using System . Text ;
5
6
using System . Threading . Tasks ;
6
7
using System . Windows . Controls ;
8
+ using VidCoder . Services ;
7
9
8
10
namespace VidCoder . Controls ;
9
11
@@ -15,25 +17,32 @@ protected override void OnSelectionChanged(SelectionChangedEventArgs e)
15
17
{
16
18
base . OnSelectionChanged ( e ) ;
17
19
18
- bool isVirtualizing = VirtualizingPanel . GetIsVirtualizing ( this ) ;
19
- bool isMultiSelect = this . SelectionMode != SelectionMode . Single ;
20
-
21
- if ( isVirtualizing && isMultiSelect )
20
+ try
22
21
{
23
- var newSelectedItems = this . SelectedItems . Cast < IListItemViewModel > ( ) . ToList ( ) ;
22
+ bool isVirtualizing = VirtualizingPanel . GetIsVirtualizing ( this ) ;
23
+ bool isMultiSelect = this . SelectionMode != SelectionMode . Single ;
24
24
25
- foreach ( var deselectedItem in this . selectedItems . Except ( newSelectedItems ) )
25
+ if ( isVirtualizing && isMultiSelect )
26
26
{
27
- deselectedItem . IsSelected = false ;
28
- }
27
+ var newSelectedItems = this . SelectedItems . Cast < IListItemViewModel > ( ) . ToList ( ) ;
29
28
30
- this . selectedItems . Clear ( ) ;
31
- this . selectedItems . AddRange ( newSelectedItems ) ;
29
+ foreach ( var deselectedItem in this . selectedItems . Except ( newSelectedItems ) . ToList ( ) )
30
+ {
31
+ deselectedItem . IsSelected = false ;
32
+ }
32
33
33
- foreach ( var newlySelectedItem in this . selectedItems )
34
- {
35
- newlySelectedItem . IsSelected = true ;
34
+ this . selectedItems . Clear ( ) ;
35
+ this . selectedItems . AddRange ( newSelectedItems ) ;
36
+
37
+ foreach ( var newlySelectedItem in this . selectedItems )
38
+ {
39
+ newlySelectedItem . IsSelected = true ;
40
+ }
36
41
}
37
42
}
43
+ catch ( Exception exception )
44
+ {
45
+ StaticResolver . Resolve < IAppLogger > ( ) . Log ( "Could not select item: " + exception . ToString ( ) ) ;
46
+ }
38
47
}
39
48
}
0 commit comments