如何通过模糊效果显示/隐藏WPF窗口

时间:2011-06-28 19:44:34

标签: wpf

我有一个WPF窗口。我想添加模糊效果。即当我说Show()Close()时,它应该模糊到视图中并且模糊不清。

我尝试使用Effect = new BlurEffect(),但我相信它是在Windows可见的时候

编辑: 我发现我实际上可以控制不透明度,所以我决定淡出窗口。

2 个答案:

答案 0 :(得分:1)

以下为我工作。

        var _sb = new Storyboard();
        var da = new DoubleAnimation(0.0, 1.0, new Duration(time)) {AutoReverse = false};
        Storyboard.SetTargetProperty(da, new PropertyPath(OpacityProperty));
        _sb.Children.Clear();
        _sb.Children.Add(da);
        this.Opacity = 0;
        Show();
        _sb.Begin(this);

答案 1 :(得分:0)

据我所知,您不能模糊整个窗口(窗口被定义为Chrome窗口元素),您可以模糊窗口中的任何UI元素。

您可以通过在Blend中创建动画来实现此目的。添加模糊效果,然后创建一个故事板。无论如何都可以标题(BlurIn)。然后在时间线内设置模糊效果的开始和结束。将此动画放在资源字典中或触发效果的xaml页面中。

然后,您可以通过

等代码调用此动画
private void BeginAnimation()
        {
            stroyboard1.Begin();
        }

我不知道您是如何设置应用程序的,但是根据您使用UI元素的方式,您可以使用onLoad或事件处理程序上应用此模糊效果显示对象或视图的视图。