2011-06-28 25 views
1

私はWPFウィンドウを持っています。私はぼかし効果を追加したい。私。私がShow()またはClose()と言うとき、それは見えなくなり、見えなくなるでしょう。ぼかし効果によるWPFウィンドウの表示/非表示方法

私はEffect = new BlurEffect()を使用してみましたが、私はそれはウィンドウが表示されている

編集であると考えている: 私は私が実際に不透明を制御することができることを考え出したので、私は窓をフェードアウトすることにしました。

答えて

1

私のために働いた。

 var _sb = new Storyboard(); 
     var da = new DoubleAnimation(0.0, 1.0, new Duration(time)) {AutoReverse = false}; 
     Storyboard.SetTargetProperty(da, new PropertyPath(OpacityProperty)); 
     _sb.Children.Clear(); 
     _sb.Children.Add(da); 
     this.Opacity = 0; 
     Show(); 
     _sb.Begin(this); 
0

あなたが知っている限り、ウィンドウ全体をぼかすことはできません(ウィンドウはChromeウィンドウエレメントとして定義されています)。ウィンドウ内のすべてのUIエレメントをぼかすことができます。

これは、Blendでアニメーションを作成することで実現できます。ぼかし効果を追加し、ストーリーボードを作成します。タイトルは何でも(BlurIn)できます。その後、タイムライン内で、ぼかし効果の開始と終了を設定します。このアニメーションを、リソースディクショナリまたはエフェクトをトリガーするxamlページ内に配置します。

あなたは、私はあなたがあなたのアプリを設定しているのか分からないが、あなたはUI要素、ビューを使用しているかに依存することは、あなたがオブジェクトまたはビューを表示することができ

private void BeginAnimation() 
     { 
      stroyboard1.Begin(); 
     } 

のようなコードを経由して、このアニメーションを呼び出すことができますこのブラーエフェクトは、Loadまたはイベントハンドラに適用されます。

+0

あなたはしかし、ウィンドウ内のコンテナにぼかしは適用できませんか?私はそれはしかし、透明ウィンドウの背景と透明性への結果のぼかしと一緒にどのように動作するかもわかりません。 – Joey

+0

コンテナの意味がわからないグリッド、スタックパネル、キャンバスなどのUI要素を意味する場合は、はい。これらのオブジェクトにエフェクトを適用できます。しかし、これを真のウィンドウコンテナに適用することはできません。 – rlcrews

関連する問題