/// <summary> /// Sets a flag indicating that a SelectionChanged event ocurred. /// </summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event information.</param> private static void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e) { #if WP7 _selectionChanged = true; #else Pivot pivot = (Pivot)sender; PivotItem pivotItem = pivot.ItemContainerGenerator.ContainerFromItem(pivot.SelectedItem) as PivotItem; if (pivotItem == null) { return; } List <FrameworkElement> elements; if (!_pivotItemsToElements.TryGetValue(pivotItem, out elements)) { return; } // Find the root ItemsPresenter ItemsPresenter ip = pivotItem.GetParentByType <ItemsPresenter>(); if (ip != null) { if (ip.RenderTransform is TranslateTransform) { Storyboard storyboard = new Storyboard(); foreach (FrameworkElement target in elements) { if (target != null) { if (IsOnScreen(target)) { bool fromRight = ((TranslateTransform)ip.RenderTransform).X <= 0; ComposeStoryboard(target, fromRight, ref storyboard); } } } storyboard.Completed += (s1, e1) => { storyboard.Stop(); }; storyboard.Begin(); } } #endif }