如何在WPF 4.0中创建发光的TextBox? [英] How to create glowing TextBox in WPF 4.0?
问题描述
我正在尝试创建一个文本框,该文本框在聚焦时会发光。
I'm trying to create a text box, which would glow when focused.
到目前为止,我所见过的所有示例均基于 OuterGlowBitmapEffect ,它似乎在.net 4中不起作用。
All samples of how to do this I've seen so far were based on OuterGlowBitmapEffect , and it appears that it does not work in .net 4.
第二篇文章中的建议是使用模糊效果。我不知道如何使用模糊来使对象的外层发光而不扭曲对象的内部内容。
The recommendation in the second article is to use blur effect. I have no idea on how to use blur to get object's outer layer to glow without distorting the inner content of the object.
最终,我希望创建一个文本框,当聚焦时将显示发光的动画,并且在控件失去焦点后发光将缓慢(1-2秒)消失。
Ultimately, I'm hoping to create a text box, which would display glow up animation when focused, and the glow would slowly (1-2 seconds) fade after the control has lost focus.
关于什么是任何想法在wpf 4.0中执行此操作的最佳方法?
Any ideas on what is the best way to do this in wpf 4.0?
推荐答案
您可以尝试使用<$获得一个不错的发光效果 c $ c> DropShadowEffect 。这是一个示例
You can try to get a decent "Glow-Effect" with DropShadowEffect
. Here is an example
更新。 TextBox
在聚焦时开始发光,而在失去聚焦时发光缓慢消失两秒钟
Update. A TextBox
that starts to "glow" when focused and the "glow" slowly fades out for two seconds when it loses focus
<TextBox Text="Test">
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect ShadowDepth="0"
Color="Gold"
Opacity="0"
BlurRadius="8"/>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation To="1.0"
Storyboard.TargetProperty="(Effect).Opacity"
Duration="00:00:00"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation To="0.0"
Storyboard.TargetProperty="(Effect).Opacity"
Duration="00:00:02"/>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
这篇关于如何在WPF 4.0中创建发光的TextBox?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!