我在模板中使用DynamicResource,並且StaticResourceExtensions作爲使用該模板的每種樣式內的資源,因此DynamicResource在每個樣式中的評估方式都不相同。在Style.Resources中使用StaticResourceExtension時出錯
的問題是,我得到這個錯誤:
Unable to cast object of type 'System.Windows.Media.Effects.DropShadowEffect' to type 'System.Windows.ResourceDictionary'
這裏是我的代碼:
<DropShadowEffect
x:Key="Sombra"
Opacity="0.5"
ShadowDepth="3"
BlurRadius="5"
/>
<ControlTemplate
x:Key="ControleGeometriaTemplate"
TargetType="{x:Type Control}"
>
<Border
x:Name="border"
Background="{TemplateBinding Background}"
Width="{TemplateBinding Width}"
Height="{TemplateBinding Height}"
/>
<Path
x:Name="ícone"
Fill="{TemplateBinding Foreground}"
Effect="{DynamicResource PathShadow}"
/>
</Border>
</ControlTemplate>
<Style x:Key="BotãoGeometria" TargetType="{x:Type ButtonBase}">
<Setter Property="Template" Value="{StaticResource ControleGeometriaTemplate}"/>
</Style>
<Style
x:Key="BotãoNavegaçãoBase"
TargetType="{x:Type ButtonBase}"
BasedOn="{StaticResource BotãoGeometria}"
>
<Style.Resources>
<StaticResource x:Key="PathShadow" ResourceKey="Sombra"/>
</Style.Resources>
</Style>
它編譯?這看起來像是那些在資源查找中傾向於發生的僅限於設計視圖的錯誤。 –
當我在VisualStudio中通過點擊'F5'來運行應用程序時,我得到一個XamlParseError ...:o(所以是的,它編譯,但是不運行 – heltonbiker
因此,在頂部註釋到的內部異常'XamlParseError'還是其他的錯誤? –