1- // Licensed to the .NET Foundation under one or more agreements.
1+ // Licensed to the .NET Foundation under one or more agreements.
22// The .NET Foundation licenses this file to you under the MIT license.
33// See the LICENSE file in the project root for more information.
44
@@ -15,12 +15,12 @@ namespace Microsoft.Toolkit.Uwp.SampleApp.SamplePages
1515 public sealed partial class ListViewExtensionsPage : Page , IXamlRenderListener
1616 {
1717 private ListView sampleListView ;
18- private TextBlock indexInput ;
19- private TextBlock itemPlacementInput ;
18+ private TextBox indexInput ;
19+ private ComboBox itemPlacementInput ;
2020 private CheckBox disableAnimationInput ;
2121 private CheckBox scrollIfVisibileInput ;
22- private TextBlock additionalHorizontalOffsetInput ;
23- private TextBlock additionalVerticalOffsetInput ;
22+ private TextBox additionalHorizontalOffsetInput ;
23+ private TextBox additionalVerticalOffsetInput ;
2424
2525 public ListViewExtensionsPage ( )
2626 {
@@ -31,12 +31,12 @@ public ListViewExtensionsPage()
3131 public void OnXamlRendered ( FrameworkElement control )
3232 {
3333 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 ;
3636 disableAnimationInput = control . FindChild ( "DisableAnimationInput" ) as CheckBox ;
3737 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 ;
4040
4141 if ( sampleListView != null )
4242 {
@@ -51,12 +51,22 @@ private void Load()
5151 {
5252 SampleController . Current . RegisterNewCommand ( "Start Smooth Scroll" , ( sender , args ) =>
5353 {
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 ;
6070 sampleListView . SmoothScrollIntoViewWithIndex ( index , itemPlacement , disableAnimation , scrollIfVisibile , additionalHorizontalOffset , additionalVerticalOffset ) ;
6171 } ) ;
6272
0 commit comments