Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在WPF4.0中创建发光文本框?_C#_Wpf_Xaml_Animation - Fatal编程技术网

C# 如何在WPF4.0中创建发光文本框?

C# 如何在WPF4.0中创建发光文本框?,c#,wpf,xaml,animation,C#,Wpf,Xaml,Animation,我正在尝试创建一个文本框,它在聚焦时会发光 到目前为止,我所看到的所有关于如何做到这一点的示例都是基于此的,而且似乎是这样的 第二篇文章中的建议是使用模糊效果。我不知道如何使用模糊使对象的外层发光而不扭曲对象的内部内容 最终,我希望创建一个文本框,在聚焦时显示发光动画,在控件失去焦点后发光将缓慢(1-2秒)消失 关于在wpf 4.0中实现这一点的最佳方法,您有什么想法吗?您可以尝试使用DropShadowEffect获得一个像样的“辉光效果”。这里有一个例子 更新。一个文本框,当聚焦时开始“发光

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

到目前为止,我所看到的所有关于如何做到这一点的示例都是基于此的,而且似乎是这样的

第二篇文章中的建议是使用模糊效果。我不知道如何使用模糊使对象的外层发光而不扭曲对象的内部内容

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


关于在wpf 4.0中实现这一点的最佳方法,您有什么想法吗?

您可以尝试使用
DropShadowEffect
获得一个像样的“辉光效果”。这里有一个例子

更新。一个
文本框
,当聚焦时开始“发光”,当失去聚焦时“发光”会慢慢消失两秒钟

<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主题的想法。特别是,看看黑色文本框的主题。我认为您想要的实际上是他们对“mouseover”属性的使用,但应该很容易将其改为焦点属性