Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 仅在指定的时间内显示窗口,然后将其关闭_C#_Wpf_Xaml_Storyboard_Window - Fatal编程技术网

C# 仅在指定的时间内显示窗口,然后将其关闭

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/

我想在指定时间后关闭窗口,但这取决于属性。如果这是真的,则应在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/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>