5

フォーカスすると光るテキスト ボックスを作成しようとしています。

これまでに見たこれを行う方法のサンプルはすべてOuterGlowBitmapEffectに基づいており、.net 4 では機能しないようです。

2番目の記事の推奨事項は、ぼかし効果を使用することです。オブジェクトの内部コンテンツを歪めることなく、オブジェクトの外側のレイヤーを光らせるためにぼかしを使用する方法がわかりません。

最終的には、フォーカス時にグローアップアニメーションを表示するテキストボックスを作成したいと考えています。コントロールがフォーカスを失った後、グローはゆっくりと (1-2 秒) フェードします。

wpf 4.0でこれを行う最良の方法は何ですか?

4

2 に答える 2

13

でまともな「グロー効果」を得ることができますDropShadowEffect。ここに例があります

更新しますTextBoxフォーカスされると「光り」始め、フォーカスを失うと「グロー」が 2 秒間ゆっくりとフェードアウトするA

ここに画像の説明を入力

<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>
于 2012-06-10T18:26:53.290 に答える
0

多くの優れた wpf テーマのアイデアについては、http: //wpfthemes.codeplex.com/を ご覧ください。特に、Bureau Black のテキストボックスのテーマを見てください。あなたが望むのは、実際には「マウスオーバー」属性に使用するものだと思いますが、代わりにそれをフォーカスされたプロパティに簡単に変更できるはずです。

于 2012-06-10T18:42:10.290 に答える