title: Changing style from inside a DataTrigger
body: <p>As often happens with WPF, I'm probably going about things the wrong way, but I have the following situation:</p>
  
  <p>I would like to apply a style depending on a DataTrigger, but you can't change Style from inside a Style:</p>
  
  <pre><code>&lt;Button&gt;
     &lt;Button.Style&gt;
        &lt;Style BasedOn="SomeStyle"&gt;
           &lt;Style.Triggers&gt;
              &lt;DataTrigger ...&gt;
                 &lt;Setter Property="Style" Value="OtherStyle" /&gt; &lt;---- NO CAN DO
  </code></pre>
  
  <p>Logical really, but what I want to avoid is duplication of the <em>same</em> setters, just because my trigger conditions change:</p>
  
  <pre><code>&lt;Button&gt;
     &lt;Button.Style&gt;
        &lt;Style BasedOn="SomeStyle"&gt;
           &lt;Style.Triggers&gt;
              &lt;DataTrigger Binding="{Binding X}" Value="Condition1"&gt;
                 &lt;Setter Property="A" Value="1" /&gt; 
                 &lt;Setter Property="B" Value="1" /&gt; 
                 &lt;etc...&gt;
  (...)
  
  &lt;Button&gt;
     &lt;Button.Style&gt;
        &lt;Style BasedOn="SomeStyle"&gt;
           &lt;Style.Triggers&gt;
              &lt;DataTrigger Binding="{Binding X}" Value="Condition2"&gt;
                 &lt;Setter Property="A" Value="1" /&gt; 
                 &lt;Setter Property="B" Value="1" /&gt; 
                 &lt;etc...&gt;
  </code></pre>
  
  <p>Is there something else inside which I could put the DataTrigger, thus allowing me to change the style from inside it? Or another way of: avoiding duplicating style info?</p>