Примените два эффекта тени к TextBlock в Silverlight - PullRequest
1 голос
/ 15 апреля 2011

Я бы хотел применить эффект свечения к TextBlock при наведении курсора.Я подумал, что самый быстрый и простой способ сделать это - использовать DropShadowEffect и изменить настройки так, чтобы он находился непосредственно за текстом, что работает как удовольствие.

Однако TextBlock уже имеет DropShadowEffect, поэтому при наведении указателя мыши эффект «свечение» заменяет тень.

я пробовал это решение оборачивания TextBlock в Grid и применения свеченияк сетке, но это, кажется, каскадно и перекрывает тень на TextBlock.

Есть ли способ эффективно применить две тени на один и тот же элемент, или есть альтернативный способ реализовать свечениена TextBlock это так же просто, как этот метод?

Ответы [ 2 ]

3 голосов
/ 18 апреля 2011

В итоге я сделал это, добавив вторичный ContentPresenter с Visibility="Collapsed" и добавив к нему тень, со следующими настройками:

<DropShadowEffect Direction="0" BlurRadius="10" 
                  ShadowDepth="1" Opacity="0.6" Color="White" />

Затем я сделал это видимым в состоянии MouseOver, чтобы создать эффект свечения.

0 голосов
/ 15 апреля 2011

Вы смотрели на это?

Возможны различные эффекты, но они, очевидно, будут перезаписаны.Единственное другое решение, которое я вижу, это написать PixelShaderEffect, которое содержит требуемый эффект.

...