当我用鼠标点击文本框时,焦点不会显示。当我通过键盘进入文本框时,焦点显示。我正在尝试下面的代码。所以请任何人都可以告诉我如何解决这个问题。当鼠标点击时,文本框焦点不起作用wpf
<Style x:Key="TextBoxFocusVisualStyle" >
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Image Source="/Mit;component/Resources/txtFocus.png" Stretch="Fill" Margin="-8,-6,-8,-6"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<TextBox Grid.Column="2" Height="44" Margin="20,48,0,0" Name="txtEmailId" VerticalAlignment="Top" KeyboardNavigation.TabIndex="2" MaxWidth="400" HorizontalAlignment="Left" Width="350" Text="" FocusVisualStyle="{DynamicResource TextBoxFocusVisualStyle}" VerticalContentAlignment="Center" FontWeight="SemiBold" FontSize="18" ContextMenu="{x:Null}" />
我也试过下面的代码@hattenn答案后:
<Application x:Class="WpfApplication1.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
<Style x:Key="TextBoxStyle" TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background">
<Setter.Value>
<VisualBrush>
<VisualBrush.Visual>
<Grid>
<Image Source="/WpfApplication1;component/Resources/txtFocus.png" Stretch="Fill" Margin="-8,-6,-8,-6"/>
</Grid>
</VisualBrush.Visual>
</VisualBrush>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Application.Resources>
和
<TextBox Height="23" Name="textBox1" Width="120" Focusable="True" FocusVisualStyle="{DynamicResource TextBoxStyle}"/>
但它不为我工作。什么都没发生。请建议。 感谢
我尝试这样做。但它不适合我。没有错误,但没有任何影响。任何想法? –
嗯,我试了一下,它完美的工作。几个想法:1)是否有其他风格影响'TextBox'? 2)您是否使用了正确的密钥名称?在你的例子中,你的键名是'TextBoxFocusVisualStyle',在这个例子中键名是'TextBoxStyle'。检查这些,但这个例子肯定是有效的,这可能是干扰你的代码与这种风格。 – hattenn
请更新我的问题..... thx –