2012-04-04 1 views
0

У меня есть холст внутри scrollviewer. Canvas поддерживает функцию масштабирования. Я хочу иметь DropShadowEffect для Canvas. DropShadowEffect работает только тогда, когда ClipToBounds Canvas установлен в False. Но я хочу установить True. Есть ли способ решить эту проблему?WPF DropShadowEffect для холста и ClipToBounds

+0

Небольшой код проходит долгий путь. –

ответ

0

Одна вещь, которую вы могли бы сделать, это наложить различные элементы управления в сетку и прикрепить DropShadowEffect к элементу управления в фоновом режиме.

Что-то вроде этого:

<ScrollViewer> 
    <Grid> 
    <Canvas ClipToBounds="true" Background="Transparent" /> 
    <Border Margin="2,2,5,5" Background="LightBlue" > 
     <Border.Effect> 
     <DropShadowEffect BlurRadius="2"></DropShadowEffect> 
     </Border.Effect> 
    </Border> 
    </Grid> 
</ScrollViewer> 
+0

Не идеально. Граница будет сдвинута в положение немного позади холста из-за самой тени. –

Смежные вопросы