У Джоэла есть отличное предложение по использованию BitmapEffects.
Однако, если вы можете использовать .NET 3.5 с пакетом обновления 1 (SP1), я бы направил вас к визуализированным с помощью графического процессора эффектам . Таким образом, вместо использования UIElement.BitmapEffect вы должны использовать UIElement.Effect. .NET 3.5 SP1 имеет два встроенных графических эффекта: BlurEffect и DropShadowEffect. Вы также можете создавать свои собственные эффекты графического процессора ... и именно здесь вы бы использовали ShaderEffect.
За дополнительной информацией обращайтесь к блогу Грега Шехтера series .
Вот фрагмент кода для эффекта наведения мыши, который я только что реализовал несколько дней назад (на самом деле он выглядит как растровый эффект внешнего свечения из-за ShadowDepth, равного 0, но не совсем):
<Path
x:Name="mouseOverEffect"
Width="80"
Height="43.916"
Stretch="None"
Fill="#FFFFFFFF"
Opacity="0"
>
<Path.Data>
<PathGeometry FillRule="Nonzero">
<PathFigure IsClosed="True" StartPoint="39.9592899612151,25.9913931634531">
<LineSegment Point="80.0000001464848,43.9159987905149"/>
<LineSegment Point="39.9513899394755,4.97379893856246E-14"/>
<LineSegment Point="1.77635636294422E-15,43.9159987905149"/>
<LineSegment Point="39.9592899612151,25.9913931634531"/>
</PathFigure>
</PathGeometry>
</Path.Data>
<Path.Effect>
<DropShadowEffect
Color="#FFFFFFFF"
BlurRadius="10"
ShadowDepth="0"
/>
</Path.Effect>
</Path>