WPFではStyleを使って見た目をごにょごにょ出来る。
Triggerとかも使えば、見た目に関するロジックをほとんど全てXAMLで書けてしまうんじゃないんだろうかと思う。
ただ、Styleで値をセットするときに使うSetterは、コントロールで明示的にプロパティを設定してあると効かない。
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<!-- カーソルがボタン上に有るか無いかでコンテンツを変えるスタイル -->
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Content" Value="Over!" />
</Trigger>
<Trigger Property="IsMouseOver" Value="False">
<Setter Property="Content" Value="Not Over!" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<StackPanel>
<!-- カーソルがボタン上に有るか無いかでコンテンツが変わる -->
<Button />
<!-- 明示的にコンテンツを指定してるのでスタイルでの上書きはされない -->
<Button Content="Button Content!"/>
</StackPanel>
</Window>
勝手に頭の中でTrigger使った時はTriggerで指定した値が優先だろうと思い込んでたのでメモ。