У меня есть текстовые поля, и я хочу изменить некоторые их свойства, когда наложу на них мышь. В этом случае я хочу изменить BorderBrush и BorderThickness.On Mouse Over не запускает триггеры в ContentTemplate
Это мой XAML ControlTemplate, это внутри Window.Resource
тег:
<Style TargetType="{x:Type TextBox}">
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="AllowDrop" Value="true"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBoxBase}">
<Border
Name="Border"
Padding="4"
BorderBrush="#ccc"
BorderThickness="1">
<ScrollViewer Margin="0" x:Name="PART_ContentHost"/>
<Border.Background>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Color="#FFC4C4C4" Offset="0.0" />
<GradientStop Color="#FFF8F8F8" Offset="0.10" />
</LinearGradientBrush>
</Border.Background>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver">
<Setter Property="BorderThickness" Value="1"></Setter>
<Setter Property="BorderBrush" Value="Orange"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Этот фрагмент кода должен установить свойства, которые я написал внутри Trigger
тега, когда курсор мыши находится над текстовым полем:
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver">
<Setter Property="BorderThickness" Value="1"></Setter>
<Setter Property="BorderBrush" Value="Orange"></Setter>
</Trigger>
</ControlTemplate.Triggers>
Но этот триггер просто не срабатывает. Ничего не произошло. Почему? И как я могу это достичь?
Там нет смысла в предваряя вопросы с метками границы элемента. Для этого есть система тегов. Пожалуйста, прочитайте http://meta.stackexchange.com/q/19190/147072 для получения дополнительной информации. – Patrick