我在聚焦时尝试改变输入框上的颜色。
首先我声明输入按钮:
<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“样式”类型的值无法添加到集合或 类型字典 'UIElementCollection'。 D:\ VS \ VIM \ VIM_WPF \ login.xaml 15 9 VIM_Wpf
任何其他解决方案如何解决这个问题?
答案 0 :(得分:8)
您可以将样式定义为资源(例如,在您的usercontrol / window的资源中),然后执行类似
的操作<TextBox Style="{StaticResource theKeyOfYourStyle}" ..../>
或者您在TextBox中明确设置它:
<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>