为UIElement.Effect设置动态效果

本文关键字:动态 设置 UIElement Effect | 更新日期: 2023-09-27 18:17:17

我们正在使用第三方的一些形状,当其中一个是无效的,我想让它发光。目前,我让它工作的唯一方法是使用DropShadowEffect

 myShape.Effect = new DropShadowEffect { BlurRadius = 120, Color = Color.FromArgb(220, 255, 0, 0), Direction = 0, ShadowDepth = 0 };

不幸的是,这不是动画。我知道我们可以用VisualState做一些动画,但是我不知道怎么把它用在UIElement.Effect.

我怎么能使这个发光效果在Silverlight如果我没有控制画布的形状绘制,既不是形状本身,因为它是一个第三方?

为UIElement.Effect设置动态效果

我现在可以有动画了但是它的效果是90%

我像前面一样设置效果:

myShape。效果= new DropShadowEffect {BlurRadius = 500, Color = Color。

然后我创建一个Storyboard并添加它:

var shadowExpand = new DoubleAnimation();
shadowExpand.From = 1;
shadowExpand.To = 0;
shadowExpand.Duration = new Duration(TimeSpan.FromMilliseconds(2000));
shadowExpand.RepeatBehavior = RepeatBehavior.Forever;
shadowExpand.AutoReverse = true;
Storyboard.SetTarget(shadowExpand, addFlowShape);
Storyboard.SetTargetProperty(shadowExpand, new PropertyPath("(UIElement.Effect).(DropShadowEffect.Opacity)"));
var stb = new Storyboard();
stb.Children.Add(shadowExpand);

<罢工>问题是,我看到它在1999毫秒内什么也没做,然后从100到0的速度非常快,没有循序渐进。

谁能让它更光滑?

我必须用1而不是100来设置不透明度。解决了,谢谢大家。