Please don't get caught up in my example, just bear with me for the sake of the question:
In my WPF application, if I wanted all TextBoxes to have a "green" background, I would easily set it as such in my Application.Resources.
<Style TargetType="TextBox">
 <Setter Property="Background" Value="Green" />
</Style>
This works PERFECTLY... (thank you WPF). However, if I had a TextBox somewhere in my application that I wanted to append a little more styling to... I LOSE my green background.
Example:
<TextBox>
 <TextBox.Style>
  <Style>
   <Style.Triggers>
    <Trigger Property="TextBox.IsMouseOver" Value="True">
     <Setter Property="TextBox.Foreground" Value="Red" />
    </Trigger>
  </Style.Triggers>
  </Style>
 </TextBox.Style>
</TextBox>
That TextBox will correctly have the red Foreground when the mouse is over, but the green Background is completely lost.
So, the question is: How do I tell WPF NOT to completely wipe out all styling that came from above just because I have a simple, non-conflicting, oh so tiny style added to a control somewhere?