title: Global Button's Dynamic Style with different image for each button
body: <p>I am using <em>Buttons</em> in Wpf C# application. 
  I have declared a style for those buttons:</p>
  
  <pre><code>  &lt;Style x:Key="ButtonStyle" TargetType="{x:Type Button}"&gt;
          &lt;Setter Property="Template"&gt;
              &lt;Setter.Value&gt;
                  &lt;ControlTemplate TargetType="{x:Type Button}"&gt;
                      &lt;Grid Margin="0" Width="100" Height="60" &gt;
                          //some more code here that sets color and stuff
                             &lt;ContentPresenter HorizontalAlignment="Stretch" /&gt;
                              &lt;Image  Source="Images/search_48.png" / &gt;
                     //some more code here (triggers)
              &lt;/Setter.Value&gt;
          &lt;/Setter&gt;
      &lt;/Style&gt;
  </code></pre>
  
  <p>I want this style to be applied to all buttons in my Window, but the image to be different.</p>
  
  <p>I could have created many Styles by duplicating the code and setting each button a style of its own, while changing only the image, but I dont want this redundency.</p>
  
  <p>I set the button style like this:</p>
  
  <pre><code>&lt;Button x:Name="buttonName" 
          Style="{DynamicResource ButtonStyle}" 
          Content="button text"&gt;
  </code></pre>
  
  <p>As I mentioned, I have many buttons like this, and I want them all to have the same style but to change the image source in this style for each button.</p>
  
  <p>Is there a way to do it without creating the same style with a different name for each button?</p>