Skip to content

Commit 2ebe4b2

Browse files
committed
Make scrool controls part of the sample
1 parent 8e6ef0a commit 2ebe4b2

File tree

3 files changed

+97
-21
lines changed

3 files changed

+97
-21
lines changed

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/ListViewExtensions/ListViewExtensionsPage.xaml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,49 @@
2020
</Page.Resources>
2121

2222
<Grid>
23+
<Grid.ColumnDefinitions>
24+
<ColumnDefinition Width="*" />
25+
<ColumnDefinition Width="Auto" />
26+
</Grid.ColumnDefinitions>
2327
<ListView x:Name="SampleListView"
28+
Grid.Column="0"
2429
Margin="12"
2530
ui:ListViewExtensions.AlternateColor="#33AAAAAA"
2631
ui:ListViewExtensions.AlternateItemTemplate="{StaticResource AlternateTemplate}"
2732
ui:ListViewExtensions.Command="{StaticResource SampleCommand}"
2833
ui:ListViewExtensions.ItemContainerStretchDirection="Both"
2934
IsItemClickEnabled="True"
3035
ItemTemplate="{StaticResource NormalTemplate}" />
36+
37+
<StackPanel Grid.Column="1" Margin="5,0,5,0" Width="200">
38+
<TextBox x:Name="IndexInput"
39+
Header="Index"
40+
InputScope="Number"
41+
Text="0" />
42+
<ComboBox x:Name="ItemPlacementInput"
43+
Header="Item Placement"
44+
SelectedIndex="0">
45+
<x:String>Default</x:String>
46+
<x:String>Left</x:String>
47+
<x:String>Top</x:String>
48+
<x:String>Center</x:String>
49+
<x:String>Right</x:String>
50+
<x:String>Bottom</x:String>
51+
</ComboBox>
52+
<CheckBox x:Name="DisableAnimationInput"
53+
Content="Disable Animation"
54+
IsChecked="False" />
55+
<CheckBox x:Name="ScrollIfVisibileInput"
56+
Content="Scroll If Visible"
57+
IsChecked="True" />
58+
<TextBox x:Name="AdditionalHorizontalOffsetInput"
59+
Header="Horizontal Offset"
60+
InputScope="Number"
61+
Text="0" />
62+
<TextBox x:Name="AdditionalVerticalOffsetInput"
63+
Header="Vertical Offset"
64+
InputScope="Number"
65+
Text="0" />
66+
</StackPanel>
3167
</Grid>
3268
</Page>

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/ListViewExtensions/ListViewExtensionsPage.xaml.cs

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/ListViewExtensions/ListViewExtensionsXaml.bind

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,14 @@
2020
</Page.Resources>
2121

2222
<Grid>
23-
<TextBlock x:Name="IndexInput" x:Load="False" Text="@[Index:Slider:100:0-200]" Visibility="Collapsed"></TextBlock>
24-
<TextBlock x:Name="ItemPlacementInput" x:Load="False" Text="@[Item Placement:Enum:ItemPlacement.Default]" Visibility="Collapsed"></TextBlock>
25-
<CheckBox x:Name="DisableAnimationInput" x:Load="False" IsChecked="@[Disable Animation:Bool:False]" Visibility="Collapsed"></CheckBox>
26-
<CheckBox x:Name="ScrollIfVisibileInput" x:Load="False" IsChecked="@[Scroll If Visibile:Bool:True]" Visibility="Collapsed"></CheckBox>
27-
<TextBlock x:Name="AdditionalHorizontalOffsetInput" x:Load="False" Text="@[Additional Horizontal Offset:Slider:0:-500-500]" Visibility="Collapsed"></TextBlock>
28-
<TextBlock x:Name="AdditionalVerticalOffsetInput" x:Load="False" Text="@[Additional Vertical Offset:Slider:0:-500-500]" Visibility="Collapsed"></TextBlock>
23+
<Grid.ColumnDefinitions>
24+
<ColumnDefinition Width="*" />
25+
<ColumnDefinition Width="Auto" />
26+
</Grid.ColumnDefinitions>
2927

3028
<ListView
3129
x:Name="SampleListView"
30+
Grid.Column="0"
3231
Margin="12"
3332
ItemTemplate="{StaticResource NormalTemplate}"
3433
IsItemClickEnabled="True"
@@ -37,5 +36,36 @@
3736
ui:ListViewExtensions.AlternateItemTemplate="{StaticResource AlternateTemplate}"
3837
ui:ListViewExtensions.ItemContainerStretchDirection="Both">
3938
</ListView>
39+
40+
<StackPanel Grid.Column="1" Margin="5,0,5,0" Width="200">
41+
<TextBox x:Name="IndexInput"
42+
Header="Index"
43+
InputScope="Number"
44+
Text="0" />
45+
<ComboBox x:Name="ItemPlacementInput"
46+
Header="Item Placement"
47+
SelectedIndex="0">
48+
<x:String>Default</x:String>
49+
<x:String>Left</x:String>
50+
<x:String>Top</x:String>
51+
<x:String>Center</x:String>
52+
<x:String>Right</x:String>
53+
<x:String>Bottom</x:String>
54+
</ComboBox>
55+
<CheckBox x:Name="DisableAnimationInput"
56+
Content="Disable Animation"
57+
IsChecked="False" />
58+
<CheckBox x:Name="ScrollIfVisibileInput"
59+
Content="Scroll If Visible"
60+
IsChecked="True" />
61+
<TextBox x:Name="AdditionalHorizontalOffsetInput"
62+
Header="Horizontal Offset"
63+
InputScope="Number"
64+
Text="0" />
65+
<TextBox x:Name="AdditionalVerticalOffsetInput"
66+
Header="Vertical Offset"
67+
InputScope="Number"
68+
Text="0" />
69+
</StackPanel>
4070
</Grid>
4171
</Page>

0 commit comments

Comments
 (0)