C# 仅在指定的时间内显示窗口,然后将其关闭
我想在指定时间后关闭窗口,但这取决于属性。如果这是真的,则应在6秒后关闭,否则应在3秒后关闭。我想在xaml中完成几乎所有的事情。我对c代码不满意 以下是我迄今为止的尝试: 我的xaml:C# 仅在指定的时间内显示窗口,然后将其关闭,c#,wpf,xaml,storyboard,window,C#,Wpf,Xaml,Storyboard,Window,我想在指定时间后关闭窗口,但这取决于属性。如果这是真的,则应在6秒后关闭,否则应在3秒后关闭。我想在xaml中完成几乎所有的事情。我对c代码不满意 以下是我迄今为止的尝试: 我的xaml: <Window x:Class="embedUserc.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/
<Window x:Class="embedUserc.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
xmlns:embedUserc="clr-namespace:embedUserc">
<Window.Triggers>
<DataTrigger Binding="{Binding IsSomething}" Value="False" >
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard Duration="0:0:6" FillBehavior="Stop" >
<BooleanAnimationUsingKeyFrames Storyboard.TargetName="CloseBehavior" Storyboard.TargetProperty="Close">
<DiscreteBooleanKeyFrame KeyTime="0:0:5" Value="True" />
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
<DataTrigger Binding="{Binding IsSomething}" Value="True" >
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard Duration="0:0:4" FillBehavior="Stop" >
<BooleanAnimationUsingKeyFrames Storyboard.TargetName="CloseBehavior" Storyboard.TargetProperty="Close" >
<DiscreteBooleanKeyFrame KeyTime="0:0:3" Value="True" />
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Window.Triggers>
<Grid>
<embedUserc:WindowCloseBehavior x:Name="CloseBehavior"/>
</Grid>
我现在明白了,下面是使用相同c代码的工作xaml:
<Window.Resources>
<Style x:Key="CloseStyle">
<Style.Triggers>
<DataTrigger Binding="{Binding IsSomething}" Value="False" >
<DataTrigger.EnterActions>
<BeginStoryboard >
<Storyboard Duration="0:0:6" FillBehavior="Stop" >
<BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="Close" >
<DiscreteBooleanKeyFrame KeyTime="0:0:5" Value="True" />
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
<DataTrigger Binding="{Binding IsSomething}" Value="True" >
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard Duration="0:0:4" FillBehavior="Stop" >
<BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="Close" >
<DiscreteBooleanKeyFrame KeyTime="0:0:3" Value="True" />
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
<Window.Resources>
<Style x:Key="CloseStyle">
<Style.Triggers>
<DataTrigger Binding="{Binding IsSomething}" Value="False" >
<DataTrigger.EnterActions>
<BeginStoryboard >
<Storyboard Duration="0:0:6" FillBehavior="Stop" >
<BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="Close" >
<DiscreteBooleanKeyFrame KeyTime="0:0:5" Value="True" />
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
<DataTrigger Binding="{Binding IsSomething}" Value="True" >
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard Duration="0:0:4" FillBehavior="Stop" >
<BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="Close" >
<DiscreteBooleanKeyFrame KeyTime="0:0:3" Value="True" />
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>