gpt4 book ai didi

c# - 为什么我的文本框对 ControlTemplate 的样式中的 IsMouseOver 没有反应

转载 作者:行者123 更新时间:2023-12-03 10:56:39 24 4
gpt4 key购买 nike

所以我试图对我的文本框进行一些样式设置,这个想法是我想在将鼠标悬停在文本框上时设置 BorderBrush 的样式,但由于某种原因它没有更改边框,所以我也尝试更改背景,同样的事情在那里.那时我意识到它对 IsMouseOver 没有反应但它确实设置了背景和我所做的一切,这只是事件IsMouseOver它没有反应。

控制

<TextBox Width="700"
Height="340"
HorizontalAlignment="Right"
Margin="0,0,230,140"
Foreground="#8bf502"
TextWrapping="Wrap"
Style="{DynamicResource TextboxStyle}"/>

样式
<Style TargetType="{x:Type TextBox}" x:Key="TextboxStyle">
<Setter Property="OverridesDefaultStyle" Value="True"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<Border Background="#424242">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"></ContentPresenter>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="BorderBrush" Value="Orange"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

最佳答案

您缺少 TargetNameBorderThickness :

<Style TargetType="{x:Type TextBox}" x:Key="TextboxStyle">
<Setter Property="OverridesDefaultStyle" Value="True"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<Border Name="border" BorderThickness="2" Background="#424242">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"></ContentPresenter>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="Orange"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

没有 Border除非你设置 BorderThickness它的属性不是 0 .

关于c# - 为什么我的文本框对 ControlTemplate 的样式中的 IsMouseOver 没有反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53155964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com