Пример #1
0
        public void AddFilter(FilterBase filter)
        {
            if (AppliedFilters.Contains(filter))
            {
                return;
            }

            filter.IsFilterEnabled = true;
            AppliedFilters.Add(filter);

            if (FilterAdded != null)
            {
                var evt = new AddFilterEventArgs();
                evt.Filter = filter;
                FilterAdded(this, evt);
            }

            if (FilterCountChanged != null)
            {
                FilterCountChanged(this, null);
            }
        }
Пример #2
0
        public void DeleteFilter(FilterBase filter)
        {
            if (!AppliedFilters.Contains(filter))
            {
                return;
            }

            AppliedFilters.Remove(filter);

            if (FilterCountChanged != null)
            {
                FilterCountChanged(this, null);
            }

            PerformInvalidatePreview();
        }
Пример #3
0
        private void ShowFilterOSD(FilterBase filter)
        {
            FilterContainerView.Filter = filter;

            TranslateTransform tf = (TranslateTransform)FilterGalleryView.RenderTransform;
            tf.Y = FilterContainerView.Height;
            FilterContainerView.Visibility = Visibility.Visible;

            Storyboard sb = new Storyboard();
            sb.Duration = new Duration(TimeSpan.FromSeconds(0.3));

            DoubleAnimation yAnimation = new DoubleAnimation();
            yAnimation.Duration = sb.Duration;
            yAnimation.To = 0;
            yAnimation.EasingFunction = new CubicEase() { EasingMode = EasingMode.EaseOut };
            Storyboard.SetTarget(yAnimation, FilterContainerView);
            Storyboard.SetTargetProperty(yAnimation, new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.Y)"));
            sb.Children.Add(yAnimation);

            sb.Begin();
            sb.Completed += (sender, e) =>
            {
                filter.OnFilterUIAdded();
            };
        }