對於自定義Style
,我在ControlTemplate
的內部有一個Popup
控件。對於這種控制,我想設置HasDropShadow
取決於在XAML文件頂部的變量聲明,如下所示:在Popup上設置HasDropShadow屬性
<sys:Boolean x:Key="IsDropShadowEnabled">true</sys:Boolean>
所以,我想聲明的彈出像這樣(只有相關部分所示):
<Popup AllowsTransparency=true HasDropShadow="{StaticResource IsDropShadowEnabled}"/>
但是這給了我以下錯誤。
屬性「HasDropShadow」沒有可訪問的setter。
'HasDropShadow'屬性爲只讀屬性,不能從標記中設置。
所以我檢查MSDN果然:
陰影效果時會顯示SystemParameters.DropShadow屬性和Popup.AllowsTransparency屬性被設置爲true。
所以不是我想我可以繞過這一點,並設置自定義陰影就取決於我的變量彈出,所以我嘗試了以下觸發:
<Trigger Property="{StaticResource IsDropShadowEnabled}" Value="true">
但是,當然,這並不能一起工作以下錯誤消息:
「System.Boolean」類型的對象不能應用於需要類型「System.Windows.DependencyProperty」的屬性。
是否有反正我可以根據靜態變量設置投影?