Skinning a ListBoxItem/Button or any content element that has its content binded to ContentPresenter and changing it foreground color often seems impossible, the problem is ContentPresenter doesn’t have the foreground property so you can’t do much for it VisualStateManager. But there are two different ways to achieve this using a trick or hack. Trick: Modify the template of the ListBoxItem, collapse/Remove the ContentPresenter and add a TextBlock and bind the Text property to TemplateBinding to Content, ......