當我用鼠標點擊文本框時,焦點不會顯示。當我通過鍵盤進入文本框時,焦點顯示。我正在嘗試下面的代碼。所以請任何人都可以告訴我如何解決這個問題。當鼠標點擊時,文本框焦點不起作用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 –