Кажется, что это нормально работает для меня, когда я тестировал его здесь.
Несколько вещей, которые я заметил, хотя это может помочь. Вам не нужно, чтобы они были DynamicResource, они действительно должны быть StaticResource, если вы не планируете их модифицировать.
Я предполагаю, что вы объявляете их в разделе Windows.Resource или повторяете их в каждом окне? Если это так, вы должны централизовать их в ResourceDictionary.
Создать новый ресурс словарь поместить свой стиль там примерно так:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="{x:Type Button}" x:Key="BSaveBtn">
<Setter Property="Padding" Value="5"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Width" Value="70"/>
<Setter Property="Height" Value="68"/>
<Setter Property="Background" Value="{DynamicResource FlatGreen}"/>
<Setter Property="Template" Value="{DynamicResource FlatGreenBtnHover}"/>
<Setter Property="Margin" Value="5"/>
<Setter Property="Content">
<Setter.Value>
<StackPanel Orientation="Vertical" FlowDirection="RightToLeft">
<Image Width="30" Source="/login;component/img/buttonpic/save.png"/>
<TextBlock Text="save" FontSize="16" FontFamily="/login;component/fonts/#Droid Arabic Kufi" Foreground="White" HorizontalAlignment="Center"/>
</StackPanel>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
Затем в App.xaml поместить следующее:
<ResourceDictionary>
<ResourceDictionary Source="MyResources.xaml" />
</ResourceDictionary>
Изображение должно быть действительно в словаре, чтобы не загружайте его несколько раз. Просто добавьте строку в этом ResourceDictionary так:
<BitmapImage UriSource="/login;component/Images/Save.png" x:Key="Save" PresentationOptions:Freeze="True" />
Установка PresentationOptions: Заморозка также поможет, если изображение никогда не модифицируется.
Ваш призыв к изображению будет потом изменить, чтобы быть:
<StackPanel Orientation="Vertical" FlowDirection="RightToLeft">
<Image Width="30" Source="{StaticResource Save}"/>
<TextBlock Text="save" FontSize="16" FontFamily="/login;component/fonts/#Droid Arabic Kufi" Foreground="White" HorizontalAlignment="Center"/>
</StackPanel>
После того, как ваши ресурсы централизованы в ResourceDictionary (или несколько), что делает его легко применить те же стили в любом месте вашего приложения, и мы надеемся, помогите с вашей проблемой. Если нет, пожалуйста, сообщите больше информации о проблеме, которую у вас есть, например, пример кода, чтобы проблема возникла.