Ich habe eine Popup
Steuerung innerhalb einer ControlTemplate
für eine benutzerdefinierte Style
. Für diese Steuerung würde Ich mag die HasDropShadow
abhängig von einer Variablen an der Spitze der XAML-Datei setzen, erklärte wie folgt:Festlegen der HasDropShadow-Eigenschaft für ein Popup
<sys:Boolean x:Key="IsDropShadowEnabled">true</sys:Boolean>
So versuchte ich, wie so das Popup erklärt (Es werden nur relevante Teile dargestellt):
<Popup AllowsTransparency=true HasDropShadow="{StaticResource IsDropShadowEnabled}"/>
Aber das gibt mir die folgenden Fehler.
Die Eigenschaft "HasDropShadow" hat keinen zugänglichen Setter.
'HasDropShadow' Eigenschaft ist schreibgeschützt und kann nicht aus Markup festgelegt werden.
So überprüfte ich MSDN und sicher genug:
Ein Schlagschatten-Effekt angezeigt, wenn die SystemParameters.DropShadow Eigenschaft und die Popup.AllowsTransparency Eigenschaft auf true gesetzt werden.
Anstatt also ich dachte, dass ich das umgehen könnte und einen benutzerdefinierten Schlagschatten auf der Popup-Set auf meiner Variable je so habe ich versucht, den folgenden Trigger:
<Trigger Property="{StaticResource IsDropShadowEnabled}" Value="true">
Aber natürlich dies mit nicht funktionierte folgende Fehlermeldung:
Ein Objekt vom Typ "System.Boolean" kann nicht auf eine Eigenschaft angewendet werden, die den Typ "System.Windows.DependencyProperty" erwartet.
Kann ich den Schlagschatten trotzdem abhängig von der statischen Variable setzen?