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/