Это отличается от WPF для Silverlight. В WPF ответ Роба правильный.
В Silverlight это не сработает. Silverlight использует VisualStateManager вместо триггеров. Код для этого более сложный, но некоторые люди считают, что это лучше. Вам придется создать шаблон управления в своем стиле. (Для получения информации об определении шаблона элемента управления см. Эта статья . Самый простой способ создать аналогичный шаблон ControlTemplate - это использовать Expression Blend, который имеет функцию для полного извлечения существующего шаблона.) *
В шаблоне управления определите VisualState, о котором вы заботитесь, и то, что вы хотите, чтобы произошло.
<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>
...
Важно также указать цвет переднего плана по умолчанию в стиле, как это делал Роб выше. Если вы укажете его вместо элемента управления, он переопределит значения из стиля.
Обратите внимание, что можно получить VisualStateManager из набора инструментов WPF, чтобы иметь аналогичное решение в WPF.