Skip to content

Commit 6ec23c3

Browse files
committed
Update sample to use scrolltoitem
1 parent 35410b1 commit 6ec23c3

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

Sample/VirtualListViewSample/ObservableCollectionPage.xaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
xmlns:local="clr-namespace:VirtualListViewSample"
77
xmlns:vlv="clr-namespace:Microsoft.Maui.Controls;assembly=VirtualListView"
88
Title="ObservableCollectionPage">
9-
<Grid RowDefinitions="*,Auto" ColumnDefinitions="*,Auto" Padding="20">
9+
<Grid RowDefinitions="*,Auto" ColumnDefinitions="*,Auto,Auto" Padding="20">
1010
<vlv:VirtualListView
1111
Grid.Row="0"
12-
Grid.Column="0" Grid.ColumnSpan="2"
12+
Grid.Column="0" Grid.ColumnSpan="3"
1313
x:Name="vlv"
1414
OnSelectedItemsChanged="vlv_SelectedItemsChanged"
1515
SelectionMode="Multiple">
@@ -39,5 +39,6 @@
3939

4040
<Entry x:Name="entryItem" Grid.Row="1" Grid.Column="0" Placeholder="Item" />
4141
<Button Grid.Row="1" Grid.Column="1" Text="Add" Clicked="Button_Clicked" />
42+
<Button Grid.Row="1" Grid.Column="2" Text="Scroll To" Clicked="ScrollTo_Clicked" />
4243
</Grid>
4344
</ContentPage>

Sample/VirtualListViewSample/ObservableCollectionPage.xaml.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public ObservableCollectionPage()
1111

1212
Adapter = new ObservableCollectionAdapter<string>(Items);
1313

14-
for (int i = 0; i < 10; i++)
14+
for (int i = 0; i < 100; i++)
1515
{
1616
Items.Add($"Item: {i}");
1717
}
@@ -61,4 +61,16 @@ private void vlv_SelectedItemsChanged(object sender, SelectedItemsChangedEventAr
6161
Items.Remove(item);
6262
}
6363
}
64+
65+
private void ScrollTo_Clicked(object sender, EventArgs e)
66+
{
67+
if (!string.IsNullOrEmpty(entryItem.Text))
68+
{
69+
var item = Items.FirstOrDefault(i => i.Equals(entryItem.Text, StringComparison.InvariantCultureIgnoreCase));
70+
71+
var itemIndex = Items.IndexOf(item);
72+
73+
vlv.ScrollToItem(new ItemPosition(0, itemIndex), true);
74+
}
75+
}
6476
}

0 commit comments

Comments
 (0)