私の例にとらわれないでください、質問のために私に耐えてください:
私のWPFアプリケーションでは、すべてのTextBoxに「緑色」の背景を持たせたい場合は、Application.Resourcesでそのように簡単に設定できます。
<Style TargetType="TextBox">
<Setter Property="Background" Value="Green" />
</Style>
これは完全に機能します...(WPFに感謝します)。ただし、アプリケーションのどこかにTextBoxがあり、もう少しスタイルを追加したい場合は、緑色の背景が失われます。
例:
<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>
そのTextBoxは、マウスが上にあるときに赤の前景を正しく表示しますが、緑の背景は完全に失われます。
したがって、問題は次のとおりです。単純で競合しない、非常に小さなスタイルがどこかのコントロールに追加されているという理由だけで、上から来たすべてのスタイリングを完全に消去しないようにWPFに指示するにはどうすればよいですか?