Textbox
sayfamın içinde küçük bir turuncu kenarlık kullanıyorum, kullanıcı yazıyor (Has Focus).WPF TextBox Kenarlık Stili Tetikleme IsFocused yalnızca odaklanıp odaklanmıyorsa çalışır.
Gereksinim duyduğum kaplanlar için stilleri tanımladım, ihtiyacım var, ama garip bir davranış var.
İmleç TextBox
numaralı telefondayken ve WPF uygulamasının odaklandığı zaman, mavi bir kenarlığı vardır.
Ancak imleç odaklanmışken ve uygulamanın dışına tıklıyorum (görsel stüdyosunda olduğu gibi) turuncu olur.
Birçok tetikleyiciyi geçersiz kılmayı denedim ama boşuna.
Bu benim metin odaklanmak ama başka bir uygulama üzerinde odaklanmış olduğumda olur:
:
Bu app/odak w metin kutusu olduğu Ve işte buradaki kod:
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>
Stiller:
<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>