2016-03-29 8 views
1

私はPopupコントロールをカスタムStyleControlTemplateの中に持っています。ポップアップでHasDropShadowプロパティを設定する

<sys:Boolean x:Key="IsDropShadowEnabled">true</sys:Boolean> 

は、だから私はそう(図示関連部分のみ)のようなポップアップを宣言しようとした:

この制御のために私は、XAMLファイルの先頭に変数に依存 HasDropShadowがそうのように宣言したいです
<Popup AllowsTransparency=true HasDropShadow="{StaticResource IsDropShadowEnabled}"/> 

しかし、これは私に次のエラーを与えます。

プロパティ "HasDropShadow"にはアクセス可能なセッターがありません。

'HasDropShadow'プロパティは読み取り専用であり、マークアップから設定することはできません。

だから私はMSDNと十分な確認を確認:

ドロップシャドウ効果を表示SystemParameters.DropShadowプロパティとPopup.AllowsTransparencyプロパティがtrueに設定されている場合。

<Trigger Property="{StaticResource IsDropShadowEnabled}" Value="true"> 

しかし、もちろん、これはでは動作しませんでした:

だから代わりに私はこれを回避し、私の変数に応じて、ポップアップでカスタムドロップシャドウを設定すると考えていたので、私は、次のトリガを試してみました次のエラーメッセージが表示されます。

"System.Boolean"型のオブジェクトは、 "System.Windows.DependencyProperty"型を必要とするプロパティに適用できません。

とにかく静的変数によってドロップシャドウを設定できますか?私はこれが好きDataTriggerを使用してStaticResourceにそれを結合することによって動作するようになった

答えて

1

は次のとおりです。

<DataTrigger Binding="{Binding Source={StaticResource IsDropShadowEnabled}}" Value="true"> 

そしてDropShadowEffectクラスを使用して独自のドロップシャドウを提供します。

関連する問題