Does anyone know how to make an Inner Glow effect in WPF without using expression blend or deprecated BitmapEffects?
Sample image:

For instance, here is some xaml for a button with an image and some text. I want this button to have an inner glow (not an outer glow):
<Button Click="HandleDeleteRows" Style="{StaticResource ButtonCellStyle}">
<DockPanel>
<Image Style="{StaticResource DeleteButtonImage}" />
<TextBlock Style="{StaticResource DeleteButtonCaption}" />
</DockPanel>
</Button>
While my simplified example above is solved by PompolutZ’s answer, I wasn’t in a position to override the control template of the control I wanted to apply the style to in my real world example – so I took to defining my own Effect, following instructions here.
Step 1 – Write an HLSL .FX file that will do your desired effect. I gave up on the glow as being too complicated, since it required edge detection. I decided to go with a slew of standard colour, brightness, gamma, and saturation adjustments that were fairly easy to implement and would let me create some good visual cues. They were pretty easy to implement using common sense and looking up pixel shading algorithms online.
ColourAdjust.fx:Step 2 – I had to download a local copy of the DirectX SDK so that I could compile the above HLSL code into a PS file, which is what’s used by WPF – giving me
ColourAdjust.ps.Step 3 – Write a ShaderEffect class that will expose the effect parameters via DependencyProperties. Here is
ColourAdjustEffect.cs:Step 4: Use your effect in the xaml:
So while I didn’t get my glow effect, I had enough parameters to play with that I could get a ‘highlighting’ visual cue, which was my real goal. Here’s some of the things I was able to do with it: