2009-11-20 2 views
1

Я хочу создать не прямоугольное окно с DropShadowEffect на нем. Как это сделать, я нашел this. Однако при запуске этого кода DropShadowEffect не отображается. На скриншотах вы можете увидеть, что DropShadowEffect присутствует, но он не работает для меня.WPF DropShadowEffect with AllowsTransparency = "True"

Как я могу использовать DropShadowEffect с AllowsTransparency установить в True?

ответ

7

Я только что попробовал следующий код в Kaxaml и получил закругленную коробку с тенью.

Rounded box with drop shadow

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

<Window 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    WindowStartupLocation="CenterScreen" 
    WindowStyle="None" 
    AllowsTransparency="True" 
    Background="Transparent" 
    > 

<Border CornerRadius="10" 
     BorderBrush="Gray" 
     BorderThickness="3" 
     Background="AliceBlue" 
     Margin="24" 
     Padding="4" 
     Width="100" 
     Height="100" 
     > 
    <Border.Effect> 
    <DropShadowEffect Color="Gray" 
         Opacity=".50" 
         ShadowDepth="16" /> 
    </Border.Effect> 

    <Grid Background="AliceBlue"> 
     <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">Hello world.</TextBlock> 
    </Grid> 
    </Border> 
</Window> 
+0

Вы правы. Этот код работает на другом компьютере, но не на моем. Спасибо за помощь. – GTD

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