WPF 文本框在焦点上更改颜色
本文关键字:颜色 焦点 文本 WPF | 更新日期: 2023-09-27 18:35:33
我尝试在聚焦时更改输入框的颜色。
首先我声明输入按钮:
<TextBox x:Name="usernameTextBox"
HorizontalAlignment="Left"
Height="23"
Margin="115,31,0,0"
TextWrapping="Wrap"
VerticalAlignment="Top"
Width="277"
GotFocus="usernameTextBox_GotFocus"/>
下面我尝试为该文本框添加样式
<Style x:Key="usernameTextBox"
TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="IsFocused"
Value="true">
<Setter Property="Background"
Value="{StaticResource OnMouseOverColor}" />
</Trigger>
</Style.Triggers>
</Style>
错误:
错误 1 无法将"Style"类型的值添加到集合或 类型词典 "UIElementCollection"。 D:''VS''VIM''VIM_WPF''login.XAML 15 9 VIM_Wpf
任何其他解决方案如何解决此问题?
要么将样式定义为资源(例如,在usercontrol/窗口的资源中),然后执行类似操作
<TextBox Style="{StaticResource theKeyOfYourStyle}" ..../>
或者您在文本框中显式设置它:
<TextBox x:Name="usernameTextBox" HorizontalAlignment="Left" Height="23" Margin="115,31,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="277" GotFocus="usernameTextBox_GotFocus">
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="IsFocused" Value="true">
<Setter Property="Background" Value="{StaticResource OnMouseOverColor}" />
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>