Example #1
0
 public void Apply(FrameworkElement frameworkElement)
 {
     if (frameworkElement == null) throw new ArgumentNullException("frameworkElement");
     
     frameworkElement.SetCurrentValue(FrameworkElement.WidthProperty, _width);
     frameworkElement.SetCurrentValue(FrameworkElement.HeightProperty, _height);
 }
        private static void UpdateObservedSizesForFrameworkElement(FrameworkElement frameworkElement)
        {
            // WPF 4.0 onwards
            frameworkElement.SetCurrentValue(ObservedWidthProperty, frameworkElement.ActualWidth);
            frameworkElement.SetCurrentValue(ObservedHeightProperty, frameworkElement.ActualHeight);

            // WPF 3.5 and prior
            ////SetObservedWidth(frameworkElement, frameworkElement.ActualWidth);
            ////SetObservedHeight(frameworkElement, frameworkElement.ActualHeight);
        }
Example #3
0
        public override bool TryInvoke(FrameworkElement owner, AutomationMethod method, out AutomationValue result)
        {
            result = AutomationValue.NotSetValue;
            var pinnableToolTip = new PinnableToolTip
            {
                Name             = "PinnableToolTipId",
                AllowCloseByUser = true,
                ResizeMode       = ResizeMode.CanResize,
                MinWidth         = 100,
                MinHeight        = 100,
                HorizontalOffset = -12,
                VerticalOffset   = -12,
            };

            var dataTemplate = new DataTemplate();
            var label        = new FrameworkElementFactory(typeof(Label));

            label.SetValue(ContentControl.ContentProperty, "Test content");
            dataTemplate.VisualTree         = label;
            pinnableToolTip.ContentTemplate = dataTemplate;

            owner.SetCurrentValue(PinnableToolTipService.ToolTipProperty, pinnableToolTip);

            result = AutomationValue.FromValue(true);

            return(true);
        }
 private static void UpdateObservedSizesForFrameworkElement(FrameworkElement frameworkElement)
 {
     frameworkElement.SetCurrentValue(ObservedWidthProperty, frameworkElement.ActualWidth);
     frameworkElement.SetCurrentValue(ObservedHeightProperty, frameworkElement.ActualHeight);
 }
            public Storyboard CreateEntryAnimation(FrameworkElement animatedObject, double xDelta, double yDelta)
            {
                var translateTransform = animatedObject.RenderTransform as TranslateTransform;

                animatedObject.Opacity = 0.0;
                animatedObject.SetCurrentValue(FrameworkElement.OpacityProperty, 0.0);

                if (translateTransform == null)
                {
                    animatedObject.RenderTransform = translateTransform = new TranslateTransform(xDelta, yDelta);
                }
                else
                {
                    translateTransform.SetCurrentValue(TranslateTransform.XProperty, translateTransform.X + xDelta);
                    translateTransform.SetCurrentValue(TranslateTransform.YProperty, translateTransform.X + yDelta);
                }

                var storyboard = new Storyboard { FillBehavior = FillBehavior.Stop };

                var animationOpacity = new DoubleAnimation
                {
                    Duration = _exitDuration,
                    BeginTime = CalculateStagger(),
                    From = 0,
                    To = 1,
                    EasingFunction = new ExponentialEase { EasingMode = EasingMode.EaseOut }
                };

                Storyboard.SetTarget(animationOpacity, animatedObject);
                Storyboard.SetTargetProperty(animationOpacity, new PropertyPath(UIElement.OpacityProperty));
                storyboard.Children.Add(animationOpacity);

                var animationX = new DoubleAnimation
                {
                    Duration = _exitDuration,
                    BeginTime = CalculateStagger(),
                    To = 0,                    
                    EasingFunction = new CubicEase { EasingMode = EasingMode.EaseOut }
                };

                Storyboard.SetTarget(animationX, animatedObject);
                Storyboard.SetTargetProperty(animationX, new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)"));
                storyboard.Children.Add(animationX);

                var animationY = new DoubleAnimation
                {
                    Duration = _exitDuration,
                    BeginTime = CalculateStagger(),
                    To = 0,
                    EasingFunction = new ExponentialEase { EasingMode = EasingMode.EaseOut }
                };

                Storyboard.SetTarget(animationY, animatedObject);
                Storyboard.SetTargetProperty(animationY, new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.Y)"));
                storyboard.Children.Add(animationY);

                storyboard.Completed += (s, e) =>
                {
                    animatedObject.Opacity = 1.0;
                    translateTransform.X = translateTransform.X;
                    translateTransform.Y = translateTransform.Y;
                };

                return storyboard;
            }