1
- // Licensed to the .NET Foundation under one or more agreements.
1
+ // Licensed to the .NET Foundation under one or more agreements.
2
2
// The .NET Foundation licenses this file to you under the MIT license.
3
3
// See the LICENSE file in the project root for more information.
4
4
@@ -15,12 +15,12 @@ namespace Microsoft.Toolkit.Uwp.SampleApp.SamplePages
15
15
public sealed partial class ListViewExtensionsPage : Page , IXamlRenderListener
16
16
{
17
17
private ListView sampleListView ;
18
- private TextBlock indexInput ;
19
- private TextBlock itemPlacementInput ;
18
+ private TextBox indexInput ;
19
+ private ComboBox itemPlacementInput ;
20
20
private CheckBox disableAnimationInput ;
21
21
private CheckBox scrollIfVisibileInput ;
22
- private TextBlock additionalHorizontalOffsetInput ;
23
- private TextBlock additionalVerticalOffsetInput ;
22
+ private TextBox additionalHorizontalOffsetInput ;
23
+ private TextBox additionalVerticalOffsetInput ;
24
24
25
25
public ListViewExtensionsPage ( )
26
26
{
@@ -31,12 +31,12 @@ public ListViewExtensionsPage()
31
31
public void OnXamlRendered ( FrameworkElement control )
32
32
{
33
33
sampleListView = control . FindChild ( "SampleListView" ) as ListView ;
34
- indexInput = control . FindChild ( "IndexInput" ) as TextBlock ;
35
- itemPlacementInput = control . FindChild ( "ItemPlacementInput" ) as TextBlock ;
34
+ indexInput = control . FindChild ( "IndexInput" ) as TextBox ;
35
+ itemPlacementInput = control . FindChild ( "ItemPlacementInput" ) as ComboBox ;
36
36
disableAnimationInput = control . FindChild ( "DisableAnimationInput" ) as CheckBox ;
37
37
scrollIfVisibileInput = control . FindChild ( "ScrollIfVisibileInput" ) as CheckBox ;
38
- additionalHorizontalOffsetInput = control . FindChild ( "AdditionalHorizontalOffsetInput" ) as TextBlock ;
39
- additionalVerticalOffsetInput = control . FindChild ( "AdditionalVerticalOffsetInput" ) as TextBlock ;
38
+ additionalHorizontalOffsetInput = control . FindChild ( "AdditionalHorizontalOffsetInput" ) as TextBox ;
39
+ additionalVerticalOffsetInput = control . FindChild ( "AdditionalVerticalOffsetInput" ) as TextBox ;
40
40
41
41
if ( sampleListView != null )
42
42
{
@@ -51,12 +51,22 @@ private void Load()
51
51
{
52
52
SampleController . Current . RegisterNewCommand ( "Start Smooth Scroll" , ( sender , args ) =>
53
53
{
54
- var index = int . Parse ( indexInput ? . Text ) ;
55
- var itemPlacement = ( ItemPlacement ) Enum . Parse ( typeof ( ItemPlacement ) , itemPlacementInput ? . Text ) ;
56
- var disableAnimation = disableAnimationInput ? . IsChecked ?? false ;
57
- var scrollIfVisibile = scrollIfVisibileInput ? . IsChecked ?? true ;
58
- var additionalHorizontalOffset = int . Parse ( additionalHorizontalOffsetInput ? . Text ) ;
59
- var additionalVerticalOffset = int . Parse ( additionalVerticalOffsetInput ? . Text ) ;
54
+ var index = int . TryParse ( indexInput . Text , out var i ) ? i : 0 ;
55
+ var itemPlacement = itemPlacementInput . SelectedItem switch
56
+ {
57
+ "Default" => UI . ItemPlacement . Default ,
58
+ "Left" => UI . ItemPlacement . Left ,
59
+ "Top" => UI . ItemPlacement . Top ,
60
+ "Center" => UI . ItemPlacement . Center ,
61
+ "Right" => UI . ItemPlacement . Right ,
62
+ "Bottom" => UI . ItemPlacement . Bottom ,
63
+ _ => UI . ItemPlacement . Default
64
+ } ;
65
+
66
+ var disableAnimation = disableAnimationInput . IsChecked ?? false ;
67
+ var scrollIfVisibile = scrollIfVisibileInput . IsChecked ?? true ;
68
+ var additionalHorizontalOffset = int . TryParse ( additionalHorizontalOffsetInput . Text , out var ho ) ? ho : 0 ;
69
+ var additionalVerticalOffset = int . TryParse ( additionalVerticalOffsetInput . Text , out var vo ) ? vo : 0 ;
60
70
sampleListView . SmoothScrollIntoViewWithIndex ( index , itemPlacement , disableAnimation , scrollIfVisibile , additionalHorizontalOffset , additionalVerticalOffset ) ;
61
71
} ) ;
62
72
0 commit comments