일부 텍스트 상자가 있고 그 위에 마우스를 놓았을 때 일부 속성을 변경하려고합니다. 이 경우 BorderBrush 및 BorderThickness를 변경하려고합니다. On Mouse Over는 ContentTemplate에서 트리거를 실행하지 않습니다.
이
IT는Window.Resource
태그 안에 있어요, 내 XAML의 ControlTemplate입니다 :
<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