wpf - 如何在 WPF C# 中的关闭按钮上淡出窗口窗体

标签 wpf wpf-controls storyboard fadeout

int FadeOut;
        for (FadeOut = 90; FadeOut >= 10; FadeOut += -10)
        {
            this.Opacity = FadeOut / 100;
            this.refresh();
            System.Threading.Thread.Sleep(50);
        }

我做了类似的事情但没有工作 //this.refresh();不工作

最佳答案

Here's discussed同样的问题。

您还可以使用触发器:事件触发器或数据触发器来启动动画,以及动画的完成事件来设置动画结束时的回调。 这是数据触发器(您的数据上下文中应该具有 FadeOut 属性)

<Window.Resources>
    <Storyboard x:Key="FadeOut">
        <DoubleAnimation From="0" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Duration="0:0:1.5"/>
    </Storyboard>
</Window.Resources>
<Window.Style>
    <Style>
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=FadeOut}" Value="True">
                <DataTrigger.EnterActions>
                    <BeginStoryboard Storyboard="{StaticResource FadeOut}"/>
                </DataTrigger.EnterActions>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</Window.Style>

关于wpf - 如何在 WPF C# 中的关闭按钮上淡出窗口窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12794773/

相关文章:

c# - 添加 .resx 文件时 WPF .net Core 3.0 编译错误

wpf - 在 WPF 应用程序中使用 winforms 默认异常处理程序

c# - 如何拖放 DataGrid 列标题?

c# - Wpf 网页浏览器 + ftp 服务器

wpf - 将 String[] 转换为 Expando 以在 WPF 中绑定(bind) DataGrid

c# - 将标志枚举绑定(bind)到包含复选框的列表框

button - Xcode 4.5 iOS6多行按钮中有文本

c# - 设置背景禁用 MouseOver 效果

ios - Storyboard:在运行时设置初始 View Controller

macos - 单击 NSTableRowView 中的按钮时 AppDelegate 崩溃