shuhelohelo’s blog

Xamarin.Forms多めです.

Xamarin.FormsでCollectionViewを指定したItemまでスクロールする.

docs.microsoft.com

これはグルーピングしたCollectionViewのスクロールの場合.

        private async void FilterButton_Tapped(object sender, EventArgs e)
        {
            var choices = _viewModel.GroupedSessions.Select(g => $"{g.TrackID} : {g.TrackName}");

            string choice = await UserDialogs.Instance.ActionSheetAsync("Choose a track", "Cancel", null, CancellationToken.None, choices.ToArray());

            if (choice.Equals("Cancel"))
            {
                return;
            }

            var trackId = choice.Substring(0, 1);

            var group = _viewModel.GroupedSessions.FirstOrDefault(g => g.TrackID == trackId);
            var item = group.FirstOrDefault();

            CollectionsView_Sessions.ScrollTo(item, group, ScrollToPosition.Center, animate: false);
        }

ソースコード

github.com