Я сделал это по-другому, но этот метод явно не ссылается на текстовое поле, поэтому я полагаю, что он должен работать в вашем случае.Основные изменения заключаются в том, что вызов в стиле TextBox
теперь неявный (поскольку состояния объявляются под этим элементом управления), а свойство Background
изменяется вместо Foreground
.
После адаптации тестового кода Iя написал в вашем случае, я думаю, это может выглядеть примерно так:
<DataTemplate x:Key="contentCheckBox">
<Grid>
<TextBox Text="Test text" Width="200" Height="35" Foreground="Blue" BorderBrush="Purple">
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<TextBox Width="190">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="MouseOver">
<Storyboard>
<ColorAnimation Duration="0" To="Pink" Storyboard.TargetProperty="Background.Color" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</TextBox>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TextBox.Style>
</TextBox>
</Grid>
</DataTemplate>