Il problema dei pulsanti è che internamente hanno un visualstate inaccessibile dalle proprietà. Questo in wpf è molto comune ma non è un problema perche la dove non ci si arriva con le proprietà e gli stili ci si puo arrivare ridefinendo il control template.

guarda l'esempio qui.

http://msdn.microsoft.com/en-us/library/ms753328(v=vs.85).aspx

viene ridefinito il control template del pulsante con un border personalizzato. Nei listati sotto ci sono diversi stili da applicare al border. Infine per ogni trigger viene applicato lo stile appropriato al bordo attraverso l'element binding.