private void AnimateElementOnDragComplete(FrameworkElement element, double delta, Action completedCallback, bool movingToNextOrPrevious)
        {
            int duration = movingToNextOrPrevious ? 200 : 175;
            TranslateTransform target = element.RenderTransform as TranslateTransform;

            target.Animate(target.X, target.X + delta, (object)TranslateTransform.XProperty, duration, new int?(0), SwipeThroughControl.ANIMATION_EASING, completedCallback);
        }
示例#2
0
        private void HideFreshNews()
        {
            if (this._isAnimating || !this._isFreshNewsShowed || this._ucHeader.IsLoadingFreshNews)
            {
                return;
            }
            this._isAnimating = true;
            TranslateTransform target             = this._translateFreshNews;
            double             y                  = this._translateFreshNews.Y;
            double             to                 = this._minOffsetFreshNews;
            DependencyProperty dependencyProperty = TranslateTransform.YProperty;
            int           duration                = 250;
            int?          startTime               = new int?(0);
            QuadraticEase quadraticEase           = new QuadraticEase();
            int           num1 = 0;

            quadraticEase.EasingMode = (EasingMode)num1;
            Action completed = (Action)(() =>
            {
                this._isAnimating = false;
                this._isFreshNewsShowed = false;
            });
            int num2 = 0;

            target.Animate(y, to, (object)dependencyProperty, duration, startTime, (IEasingFunction)quadraticEase, completed, num2 != 0);
        }
示例#3
0
        public void ShowFreshNews()
        {
            if (this._freshNewsState == FreshNewsState.NoNews || this._isAnimating || this._isFreshNewsShowed)
            {
                return;
            }
            this._isAnimating = true;
            TranslateTransform target = this._translateFreshNews;
            double             y      = this._translateFreshNews.Y;
            double             freshNewsTranslateY = this.GetMaxFreshNewsTranslateY();
            DependencyProperty dependencyProperty  = TranslateTransform.YProperty;
            int      duration  = 350;
            int?     startTime = new int?(0);
            BackEase backEase  = new BackEase();
            int      num1      = 0;

            backEase.EasingMode = (EasingMode)num1;
            double num2 = 0.5;

            backEase.Amplitude = num2;
            Action completed = (Action)(() =>
            {
                this._isAnimating = false;
                this._isFreshNewsShowed = true;
            });
            int num3 = 0;

            target.Animate(y, freshNewsTranslateY, (object)dependencyProperty, duration, startTime, (IEasingFunction)backEase, completed, num3 != 0);
        }
示例#4
0
        private void OpenSettings()
        {
            TranslateTransform transform = this._feContainer.GetHorizontalOffset().Transform;
            double             x         = transform.get_X();
            DependencyProperty xProperty = TranslateTransform.XProperty;
            CubicEase          cubicEase = new CubicEase();

            cubicEase.set_EasingMode(0);
            transform.Animate(x, 380, xProperty, 300, 0, cubicEase, null);
            this._isSettingsOpen = true;
        }
示例#5
0
        private void ToDoItemDeletedAction(FrameworkElement deletedElement)
        {
            //_deleteSound.Play();

            var trans = deletedElement.GetHorizontalOffset().Transform;

            trans.Animate(trans.X, -(deletedElement.ActualWidth + 50),
                          TranslateTransform.XProperty, 300, 0, new SineEase()
            {
                EasingMode = EasingMode.EaseOut
            },
                          () =>
            {
                // find the model object that was deleted
                T deletedItem = deletedElement.DataContext as T;

                // determine how much we have to 'shuffle' up by
                double elementOffset = -deletedElement.ActualHeight;

                // find the items in view, and the location of the deleted item in this list
                var itemsInView      = this.interactionListControl.GetItemsInView().ToList();
                var lastItem         = itemsInView.Last();
                int startTime        = 0;
                int deletedItemIndex = itemsInView.Select(i => i.DataContext)
                                       .ToList().IndexOf(deletedItem);

                // iterate over each item
                foreach (FrameworkElement element in itemsInView.Skip(deletedItemIndex))
                {
                    // for the last item, create an action that deletes the model object
                    // and re-renders the list
                    Action action = null;
                    if (element == lastItem)
                    {
                        action = () =>
                        {
                            // remove the item
                            this.interactionList.Remove(deletedItem);

                            this.itemManager.DeleteItem(deletedItem);

                            // re-populate our ObservableCollection
                            this.interactionList.Reset();
                        };
                    }

                    // shuffle this item up
                    TranslateTransform elementTrans = new TranslateTransform();
                    element.RenderTransform         = elementTrans;
                    elementTrans.Animate(0, elementOffset, TranslateTransform.YProperty, 200, startTime, null, action);
                    startTime += 10;
                }
            });
        }
示例#6
0
        private void UpdateVisibilityState()
        {
            this.LayoutRoot.Visibility = this._isTextBoxTargetFocused || this._isOpen ? Visibility.Visible : Visibility.Collapsed;
            this.LayoutRoot.Opacity    = this._isOpen ? 1.0 : 0.0;
            bool isOpened = this._isTextBoxTargetFocused || this._isOpen;
            bool flag1    = this._isOpen;
            bool flag2    = this._isTextBoxTargetFocused;

            if (isOpened != this._lastIsOpenState)
            {
                EventHandler <bool> eventHandler = this.IsOpenedChanged;
                if (eventHandler != null)
                {
                    int num = isOpened ? 1 : 0;
                    eventHandler((object)this, num != 0);
                }
                EventAggregator.Current.Publish((object)new PanelControlOpenedChangedEvent(isOpened));
                this._lastIsOpenState = isOpened;
                if (flag1 != this._lastIsEmojiOpenState && this._childElement != null && this.LayoutRoot.Visibility == Visibility.Visible)
                {
                    TranslateTransform target = this._childElement.RenderTransform as TranslateTransform;
                    if (target != null)
                    {
                        ExponentialEase exponentialEase = new ExponentialEase();
                        int             num1            = 0;
                        exponentialEase.EasingMode = (EasingMode)num1;
                        double num2 = 6.0;
                        exponentialEase.Exponent = num2;
                        IEasingFunction easing = (IEasingFunction)exponentialEase;
                        target.Animate(this.LayoutRoot.Height, 0.0, (object)TranslateTransform.YProperty, 350, new int?(), easing, null, false);
                    }
                }
            }
            if (flag1 != this._lastIsEmojiOpenState)
            {
                EventHandler <bool> eventHandler = this.IsEmojiOpenedChanged;
                if (eventHandler != null)
                {
                    int num = flag1 ? 1 : 0;
                    eventHandler((object)this, num != 0);
                }
                this._lastIsEmojiOpenState = flag1;
            }
            if (flag2 == this._lastIsFocusedState)
            {
                return;
            }
            this.IsFocusedChanged((object)this, flag2);
            this._lastIsFocusedState = flag2;
            EventAggregator.Current.Publish((object)new PanelControlFocusedChangedEvent(flag2));
        }
示例#7
0
        public void ShowFreshNews()
        {
            if (this._freshNewsState == FreshNewsState.NoNews || this._isAnimating || this._isFreshNewsShowed)
            {
                return;
            }
            this._isAnimating = true;
            TranslateTransform translateFreshNews = this._translateFreshNews;
            double             y = this._translateFreshNews.Y;
            double             freshNewsTranslateY = this.GetMaxFreshNewsTranslateY();

            int?     startTime = new int?(0);
            BackEase backEase  = new BackEase();

            backEase.EasingMode = ((EasingMode)0);
            backEase.Amplitude  = 0.5;
            Action completed = (Action)(() =>
            {
                this._isAnimating = false;
                this._isFreshNewsShowed = true;
            });

            translateFreshNews.Animate(y, freshNewsTranslateY, TranslateTransform.YProperty, 350, startTime, backEase, completed, false);
        }