我想在用戶輸入焦點時在我的Textbox
周圍有一個漂亮的小橙色邊框。WPF文本框邊框樣式觸發器IsFocused只適用於具有焦點但不具有鍵盤焦點
我定義了我認爲需要的TIGERS的樣式,但有一個奇怪的行爲。
當光標位於TextBox
並且WPF應用程序具有焦點時,它具有藍色邊框。
但是,當光標聚焦,我點擊應用程序外(如在視覺工作室),它變成了橙色。
我試過重寫許多觸發器,但無濟於事。
這是當我專注於文本,但我專注於其他應用程序會發生什麼:
這是文本框W /聚焦在應用程序:
這裏是代碼:
CTRL Xaml:
種<TextBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2"
Style="{StaticResource RegistrationTextbox}"
IsReadOnly="{Binding Path=IsFirstNameReadOnly}" Text="{Binding FirstName}" BorderThickness="0.99">
<b:Interaction.Triggers>
<b:EventTrigger EventName="GotFocus">
<b:InvokeCommandAction Command="{Binding GotFocusFirstNameCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</TextBox>
樣式:
<Style x:Key="RegistrationTextbox" TargetType="{x:Type TextBox}">
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Style.Triggers>
<Trigger Property="IsReadOnly" Value="true">
<Setter Property="Background" Value="#f2f2f2"/>
<Setter Property="BorderBrush" Value="#f2f2f2"/>
<Setter Property="BorderThickness" Value="2"/>
</Trigger>
<Trigger Property="IsKeyboardFocused" Value="true">
<Setter Property="BorderBrush" Value="Red"/>
<Setter Property="BorderThickness" Value="2"/>
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="BorderBrush" Value="#FAA634"/>
<Setter Property="BorderThickness" Value="2"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="BorderBrush" Value="#F8B963"/>
<Setter Property="BorderThickness" Value="2"/>
</Trigger>
</Style.Triggers>
</Style>