Esto es diferente de WPF a Silverlight. En WPF, la respuesta de Rob es correcta.
En Silverlight, esto no funcionará. Silverlight usa VisualStateManager en lugar de desencadenantes. El código para esto es más complejo, pero algunas personas sienten que esto es mejor. Terminas teniendo que crear una plantilla de control en tu estilo. (Para obtener información sobre cómo definir la plantilla de control, consulte This Article. La manera más fácil de crear una plantilla de control similar es usar Expression Blend, que tiene una función para extraer la plantilla existente completa).
En la plantilla de control, defina el VisualState que le importa y lo que quiere que suceda.
<VisualStateGroup x:Name="CommonStateGroup">
<VisualState x:Name="MouseOverState">
<Storyboard>
<ColorAnimation Storyboard.TargetName="TopmostElementOfTheTemplate"
Storyboard.TargetProperty="Foreground"
To="Black"
Duration="00:00:00" >
</ColorAnimation>
</Storyboard>
</VisualState>
</VisualStateGroup>
...
Es importante especificar el color de fondo por defecto en el estilo, así, como Rob hizo anteriormente. Si lo especifica en el control, anulará los valores del estilo.
Tenga en cuenta que es posible sacar el VisualStateManager del WPF Toolkit para tener una solución similar en WPF.
Buena llamada Ben. +1! –
Esto hizo el truco ... ¡gracias! – mattruma