2011-01-22 3 views
2

WPFウィンドウ上でなぜ/ no/outerglow効果が働いているのか教えていただけますか?ここでのコードの例である:WPFのOuterGlowエフェクトはレイヤードウィンドウでは機能しませんか?

<Window x:Class="SocialShock_WPF_Client.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" 
     AllowsTransparency="True" 
     WindowStyle='None' 
     Background="Transparent" 
     Loaded="Window_Loaded"> 
    <Grid> 
     <Rectangle Margin="12" Name="rectangle1" Fill="#FFB75050"> 
      <Rectangle.BitmapEffect> 
       <OuterGlowBitmapEffect GlowColor="Black" GlowSize="20" /> 
      </Rectangle.BitmapEffect> 
     </Rectangle> 
    </Grid> 
</Window> 

、得られた画像:

http://img408.imageshack.us/img408/6213/1c1761f31ce6408d948e266.png

エッジの周りにグロー。 矩形にグローが表示されないだけでなく、ウィンドウに追加する他のコントロールでもグローを受け入れることができません。

EDIT:その中に.NET 4.0

+0

背後にあるコードでの効果を変更しますか? .NET 4.0 –

+0

BitmapEffectsは.NET 4では動作しないため、BitmapEffectsは推奨されていませんか?どのように私は4ネットでこれを行うだろうか? – caesay

答えて

10

BitmapEffectsは、もはや.NET 4.0でサポートされています。 MSDNの.NET Framework 4または において重要

から

後、BitmapEffectクラスは 時代遅れです。 BitmapEffectクラスを使用しようとすると、 が廃止されます。 BitmapEffectクラス の代わりに廃止されていない がEffectクラスです。大部分の 状況では、Effectクラスは と大幅に高速です。

あり本当に良い代替ではありませんが、あなたは私はあなたが正しくコメントを理解している場合ShadowDepth 0の例

<Rectangle Margin="12" Name="rectangle1" Fill="#FFB75050"> 
    <Rectangle.Effect> 
     <DropShadowEffect ShadowDepth="0" 
          Color="Black" 
          Opacity="1" 
          BlurRadius="12"/> 
    </Rectangle.Effect> 
</Rectangle> 

DropShadowEffectを使用しようとすることができ、

を追加コードの後ろにある効果

DropShadowEffect dropShadowEffect = new DropShadowEffect(); 
dropShadowEffect.ShadowDepth = 0; 
dropShadowEffect.Color = Colors.Black; 
dropShadowEffect.Opacity = 1; 
dropShadowEffect.BlurRadius = 12; 
rectangle1.Effect = dropShadowEffect; 

は、.NETフレームワークのバージョンを使用している

DropShadowEffect dropShadowEffect = rectangle1.Effect as DropShadowEffect; 
dropShadowEffect.BlurRadius = 24; 
+0

どのようにプログラムの効果を追加/編集しますか? – caesay

+0

、私はそれを考え出した。 – caesay

+0

@トミー:さて、ちょうど約いくつかのコードを投稿していた:) –

関連する問題