2012-11-13 19 views
9

私はWPFテクノロジが初めてです。WPFウィンドウシャドウ効果

<Window x:Class="CustomWindows.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="480" Width="640" ScrollViewer.VerticalScrollBarVisibility="Disabled" WindowStyle="None" AllowsTransparency="True"> 
    <Window.Effect> 
     <DropShadowEffect BlurRadius="15" Direction="-90" RenderingBias="Quality" ShadowDepth="2"/> 
    </Window.Effect> 
    <Grid> 

    </Grid> 
</Window> 

しかし、私はそれを実行すると、影が表示されません:私は、WPFでの次のウィンドウ宣言を持っています。私は何をすることができますか、またはmisstakeはどこですか?

+0

@HighCoreの答えに加えて、それはまた、それは超えていることが考えられ描画領域と影の深さの値と同じウィンドウのマージンを設定することもできます。 – Silvermind

+0

@ Silvermind、あなたの方法は動作しません。まだ影を表示することはできません... – Victor

+0

それは私の頭の上にあって、試してみる価値があります。とにかくHighCoreの答えで十分です。 – Silvermind

答えて

29

DropShadowEffectは、Windowには適用できません。代わりに、デフォルトのウィンドウの外観を上書きしたい場合は、あなたがウィンドウに含まれる他のいくつかの要素に効果を適用する必要があります。

<Window x:Class="WpfApplication2.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525" WindowStyle="None" AllowsTransparency="True" Background="Transparent"> 
    <Grid Margin="20" Background="Red"> 
     <Grid.Effect> 
      <DropShadowEffect BlurRadius="15" Direction="-90" RenderingBias="Quality" ShadowDepth="2"/> 
     </Grid.Effect> 
     ... 

    </Grid> 
</Window> 
+1

ありがとうございます!非常に有用な例。 –

+0

@HighCore、ありがとう、とても助かりました。私の時間を節約しました:) –

+0

私はしばらくの間、DropShadowEffectを使っていました。おそらくこの答えは時代遅れです。 – OfficeAddinDev

-2
<Window 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:ee="http://schemas.microsoft.com/expression/2010/effects" 
     mc:Ignorable="d" 
     x:Class="Loader.MainWindow" 
     Title="MainWindow" Height="470" Width="770" Deactivated="WorkSpace_Deactivated" Activated="WorkSpace_Activated" 
     x:Name="WorkSpace" WindowStyle="None" AllowsTransparency="True"> 
    <Window.Background> 
     <SolidColorBrush/> 
    </Window.Background> 
    <Window.Effect> 
     <DropShadowEffect/> 
    </Window.Effect> 
    <Grid Background="#2D2D30" Height="450" Width="750"> 
     ... 
    </Grid> 

</Window> 
+5

OPの質問にどのように答えているかについてもっと詳しく説明する必要があります。 –

関連する問題