Inheriting ItemContainerStyle styling to DataTemplate content
===

I have a ListBox and am defining an ItemContainerStyle and a DataTemplate.

When styling the ItemContainerStyle, I can use the VisualStateManager to define transitions and animations based on different states (selected, valid, mouse over, etc.).

The DataTemplate is hosted in a ContentControl and is completely oblivious to all these states, since it's in a completely different scope.  Something as simple as animating the foreground color on selection change is difficult to do.

1) Is there a better way to handle the VisualStateManager states in the same scope as the DataTemplate definition?

2) Is there a way using the Expression Blend IDE to define an animation of a property of the "target-element"? (In this case, a ListBoxItem).  ListBoxItem defines a Foreground value which can be inherited to child TextBlocks.  But I don't see a way to change or animate that value using the VisualStateManager of the control template.  It's only accessible from the scope of the Style, which doesn't have a VisualStateManager.

To me it seems like there are too many different scopes for creating a single specialized template with granular control.