Offenbar unterstützen Popups zur Zeit keine Schlagschatten, see link.
Allerdings habe ich mir eine Workaround einfallen lassen, die IMO ziemlich gut funktioniert. Grundsätzlich besteht die Idee darin, einen Canvas-Bereich innerhalb eines anderen transparenten Canvas-Bereichs zu verschachteln und den Schlagschatten auf den geschachtelten Canvas-Bereich anzuwenden. Einfach. Heres ein Beispiel:
<Grid>
<TextBox x:Name="MyTxtBx" Width="50"
Height="20" Text="Hello"/>
<Popup IsOpen="True" Width="200" Height="100"
PlacementTarget="{Binding ElementName=MyTxtBx}"
AllowsTransparency="True" >
<Canvas Background="Transparent">
<Canvas Background="Green" Width="150" Height="50">
<Canvas.BitmapEffect>
<DropShadowBitmapEffect Softness=".5"
ShadowDepth="5"
Color="Black"/>
</Canvas.BitmapEffect>
<Label Content="THIS IS A POPUP TEST"/>
</Canvas>
</Canvas>
</Popup>
</Grid>
Die Punkte sind zu beachten, dass die verschachtelte Leinwand kleiner sein muss als die Größe des Behälters es ist. Auch muss AllowsTransparency eingestellt werden.
Sie sollten vorsichtig sein mit diesen Effekten, die meiste Zeit sind sie sloooowwww. –