【WPF】BlurEffectがかからない
Q&A
Closed
この質問の背景
MosaicEffectというエフェクトを自作(いろいろなところからコードを拝借しながら)したのですが、特定の状況の時にモザイクエフェクトがかからなくて、この問題を検証しています。この問題の切り分けのために、MosaicEffectではなく、既存のSystem.Windows.Media.Effects.BlurEffectで試したところ、こちらでも正常に機能しないので、たぶん自分のやり方がどこか悪いのだと思います。
最小構成のソースコード
使用ライブラリ
- Prism
- ReactiveProperty
- SharpDX (モザイク処理のコードコンパイル用)
解決したいこと
ViewModel(MainWindowViewModel.cs)から動的にImageオブジェクトを配置して、
さらにBlurEffectをかけたいのですが、うまくいきません。
具体的にいうと、ブラーがかからずオリジナルの状態で表示されます。
(UIでいうとGrid.Column=1, Grid.Row=3のボタン押下時)
一体、なにが足りないでしょうか。。。
発生している問題・エラー
該当するソースコード
自分で試したこと
なお、画像・コードで示している通り、XAMLによる定義と、コードビハインド(MainWindow.cs)からImageオブジェクトを配置する方法はうまくいきました。
以下の事項は判明しています。
- ImageオブジェクトをViewのどこかのパネルにいれないといけない(おそらく親要素が必須である)
- パネルに入れた後、image.UpdateLayout()を実行しないといけない
回答の程、どうそよろしくお願いいたします。
0 likes