c# - 如何在 WPF 4.0 中创建发光的文本框?

标签 c# wpf xaml animation

我正在尝试创建一个文本框,它会在聚焦时发光。

到目前为止,我所看到的有关如何执行此操作的所有示例均基于 OuterGlowBitmapEffect , 看起来它 does not work in .net 4 .

第二篇推荐的是使用模糊效果。我不知道如何使用模糊让对象的外层发光而不扭曲对象的内部内容。

最终,我希望创建一个文本框,该文本框在获得焦点时会显示发光动画,并且在控件失去焦点后发光会缓慢(1-2 秒)消失。

关于在 wpf 4.0 中执行此操作的最佳方法有什么想法吗?

最佳答案

您可以尝试使用 DropShadowEffect 获得不错的“发光效果”。这是一个例子

更新。一个 TextBox,在获得焦点时开始“发光”,而在失去焦点时“发光”会慢慢淡出两秒钟

enter image description here

<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/

相关文章:

c# - 使 WPF TextBox 绑定(bind)触发每个新角色?

xaml - Windows Phone 8 - 中心全景 Item.Header

c# - 无法在设计器中创建实例 "[user control]"错误

c# - 找不到集合枚举器的这种用法中的错误

c# - C# 中带有附加行的十字准线光标

c# - C# 中的任务(约会)调度库?

c# - 单击主应用程序窗口时如何聚焦模态 WPF 窗口

c# - 如何使用 Moq 在函数中模拟谓词

wpf - 文本框不会拉伸(stretch)以填充 View 框

forms - 将 ViewModel 绑定(bind)到 Prism.Forms 中的 XAML View