我正在尝试创建一个文本框,它会在聚焦时发光。
到目前为止,我所看到的有关如何执行此操作的所有示例均基于 OuterGlowBitmapEffect , 看起来它 does not work in .net 4 .
第二篇推荐的是使用模糊效果。我不知道如何使用模糊让对象的外层发光而不扭曲对象的内部内容。
最终,我希望创建一个文本框,该文本框在获得焦点时会显示发光动画,并且在控件失去焦点后发光会缓慢(1-2 秒)消失。
关于在 wpf 4.0 中执行此操作的最佳方法有什么想法吗?
最佳答案
您可以尝试使用 DropShadowEffect
获得不错的“发光效果”。这是一个例子
更新。一个 TextBox
,在获得焦点时开始“发光”,而在失去焦点时“发光”会慢慢淡出两秒钟
<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>
关于c# - 如何在 WPF 4.0 中创建发光的文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10971143/