/// <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
        }