Установка динамического эффекта для UIElement.Effect - PullRequest
0 голосов
/ 07 декабря 2011

Мы используем третье лицо, у которого есть фигуры, и когда одна из них недействительна, я бы хотел, чтобы она светилась. На данный момент единственный способ заставить его работать с DropShadowEffect.

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

К сожалению, это не анимация. Я знаю, что мы можем сделать некоторую анимацию с VisualState, но я не вижу способа использовать ее с UIElement.Effect.

Как я могу создать этот эффект свечения в Silverlight, если у меня нет контроля над холстом, на котором рисуются фигуры, и не над самой формой, поскольку она является третьей стороной?

1 Ответ

0 голосов
/ 07 декабря 2011

Теперь у меня есть анимация, но она работает на 90%

Я установил эффект, как ранее:

myShape.Effect = new DropShadowEffect {BlurRadius = 500, Color = Color.FromArgb (255, 255, 0, 0), Direction = 0, ShadowDepth = 10, Opacity = 100};

Затем я создаю раскадровку и добавляю ее:

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 для непрозрачности.Решено спасибо всем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...