Mam taki styl dla radiobuttonu, kod jest dłuższy ale mam problem jedynie z triggerem na IsChecked.

<Style x:Key="ButtonStyle1" TargetType="RadioButton" BasedOn="{StaticResource {x:Type ToggleButton}}">
	<Style.Triggers>
		<Trigger Property="IsChecked" Value="true">
			<Setter Property="Foreground">
				<Setter.Value>
					<SolidColorBrush Color="Green"/>
				</Setter.Value>
			</Setter>
			<Setter Property="Background">
				<Setter.Value>
					<SolidColorBrush Color="Orange"/>
				</Setter.Value>
			</Setter>
		</Trigger>
	</Style.Triggers>
</Style>

Po wciśnięciu buttona foreground jest zielony ale background jest domyślny, nie zmienia mi go. Ktoś może mi powiedzieć dlaczego?
A jak dodam jeszcze coś takiego:

<Trigger Property="IsMouseOver" Value="true">
	<Setter Property="Control.Background">
		<Setter.Value>
			<SolidColorBrush Color="Orange"/>
		</Setter.Value>
	</Setter>
</Trigger>

To zmienia bacground na ułamek sekundy i przechodzi w domyślny.

Ok nieważne, trzeba użyć ControlTemplate
http://stackoverflow.com/questions/12394101/changing-background-color-of-togglebutton-when-checked