WPF Window.Loaded和Window.Closed

时间:2011-03-28 11:31:49

标签: wpf events triggers

有两个事件触发器。其中一个是RoundedEvent Window.Loaded,另一个是Window.Closed。 但是它们都不能同时工作。我该如何解决这个问题?

我的代码在

下面
<Window.Triggers>
    <EventTrigger RoutedEvent="Window.Closed">
        <BeginStoryboard>
            <Storyboard>
                <DoubleAnimation  Storyboard.TargetName="mainWindow" 
        Storyboard.TargetProperty="Left"
        From="500" To="-200" Duration="0:0:1" >
                </DoubleAnimation>
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>

    <EventTrigger RoutedEvent="Window.Loaded">
        <BeginStoryboard>
            <Storyboard>
                <DoubleAnimation
        Storyboard.TargetName="mainWindow" 
        Storyboard.TargetProperty="Left"
        From="-200" To="500" Duration="0:0:1" />
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
</Window.Triggers>

1 个答案:

答案 0 :(得分:0)

Window.Loaded工作正常,问题是EventTriggers仅适用于路由事件,但Window.Closed不是路由事件(因为它只能出现在窗口中)。< / p>

我建议您通过处理Window.Closed事件在代码隐藏中执行结束动画,无论如何它都是有意义的,因为您需要在实际关闭窗口之前等待动画结束。