私はテンプレートで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
キャスト例外が内部の例外の先頭に記載されています –