To do it, you have to manage the itemGridView_Loaded event and use the CollectionView:
In XAML:
<GridView
x:Name="itemGridView"
AutomationProperties.AutomationId="ItemGridView"
AutomationProperties.Name="Grouped Items"
Grid.RowSpan="2"
Padding="116,137,40,46"
ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}"
ItemTemplate="{StaticResource Standard250x250ItemTemplate}"
SelectionMode="None"
IsSwipeEnabled="false"
IsItemClickEnabled="True"
ItemClick="ItemView_ItemClick"
Loaded="itemGridView_Loaded">
private bool firstTime = true; private void itemGridView_Loaded(object sender, RoutedEventArgs e) { ICollectionView view; ICollectionViewGroup myGroup; Data.MyDataType myItem; if (!this.firstTime) return; else firstTime = false; view = itemGridView.ItemsSource as ICollectionView; view.CurrentChanged += view_CurrentChanged; int groupIndex = 2; // an integer value between 0 and # of items in the groups collection myGroup = view.CollectionGroups[groupIndex] as ICollectionViewGroup; myItem = recipeGroup.GroupItems[0] as Data.MyDataType; view.MoveCurrentTo(myItem); } private void view_CurrentChanged(object sender, object e) { ICollectionView view; Data.MyDataType myItem; view = itemGridView.ItemsSource as ICollectionView; view.CurrentChanged -= view_CurrentChanged; myItem = view.CurrentItem as Data.MyDataType; itemGridView.ScrollIntoView(view.CurrentItem, ScrollIntoViewAlignment.Leading); }
No comments:
Post a Comment