private void ViewModelOnScrollRequest(AnimeItemViewModel item, bool select = false) { switch (ViewModel.DisplayMode) { case AnimeListDisplayModes.IndefiniteCompactList: AnimeCompactItemsIndefinite.ScrollIntoView(item); if (select) { AnimeCompactItemsIndefinite.SelectedItem = item; AnimeCompactItemsIndefinite.Focus(FocusState.Pointer); } break; case AnimeListDisplayModes.IndefiniteList: AnimesItemsIndefinite.ScrollIntoView(item); if (select) { AnimesItemsIndefinite.SelectedItem = item; AnimesItemsIndefinite.Focus(FocusState.Pointer); } break; case AnimeListDisplayModes.IndefiniteGrid: AnimesGridIndefinite.ScrollIntoView(item); if (select) { AnimesGridIndefinite.SelectedItem = item; AnimesGridIndefinite.Focus(FocusState.Pointer); } break; default: throw new ArgumentOutOfRangeException(); } }
private async void AnimesGridIndefinite_OnItemClick(object sender, ItemClickEventArgs e) { ViewModel.TemporarilySelectedAnimeItem = e.ClickedItem as AnimeItemViewModel; await Task.Delay(50); AnimesGridIndefinite.ScrollIntoView(e.ClickedItem); }
private void MainOnOffContentPaneStateChanged() { if (Settings.AnimeListEnsureSelectedItemVisibleAfterOffContentCollapse && AnimesGridIndefinite.SelectedItem != null) { AnimesGridIndefinite.ScrollIntoView(AnimesGridIndefinite.SelectedItem); } }
private void AnimeGridItemOnTap(object sender, TappedRoutedEventArgs e) { var item = (sender as FrameworkElement).DataContext as AnimeItemViewModel; if (item == null) { return; } ViewModel.TemporarilySelectedAnimeItem = item; AnimesGridIndefinite.ScrollIntoView(item); }