HOW TO FADING OUT A WPF WINDOW DURING CLOSE

Andrew Deniel

Total Post:29

Points:203
Posted by  Andrew Deniel
WPF 
WPF
 5907  View(s)
Ratings:
Rate this:
Hi mindstick!

I want to fade a window in/out in my application. Fading in occurs on Window.Loaded and I wanted to fade out on close (Window.Closed or Window.Closing). Fading in works perfectly but a RoutedEvent is not allowed on Window.Closing. What RoutedEvent should I be using for Close?

    <Window.Triggers>

        <EventTrigger RoutedEvent="Window.Loaded">

            <BeginStoryboard>

                <Storyboard>

                    <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:2" FillBehavior="HoldEnd" />

                </Storyboard>

            </BeginStoryboard>

        </EventTrigger>

        <EventTrigger RoutedEvent="Window.Closing">

            <BeginStoryboard>

                <Storyboard>

                    <DoubleAnimation Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:0:2" FillBehavior="HoldEnd" />

                </Storyboard>

            </BeginStoryboard>

        </EventTrigger>

    </Window.Triggers>

I get a error on , Value 'Window.Closing' cannot be assigned to property 'RoutedEvent'. Invalid event name.

thanks in advance

  1. shreesh chandra shukla

    Post:105

    Points:735
    Re: How to fading out a wpf window during close

    Solution!

    Closing is not a routed event, so you can't use it in an EventTrigger. Perhaps you could start the storyboard in the handler of the ClosingEvent in the code-behind and cancel the event... something like that :

    private bool closeStoryBoardCompleted = false;
    private void Window_Closing(object sender, CancelEventArgs e)
    {
        if (!closeStoryBoardCompleted)
        {
            closeStoryBoard.Begin();
            e.Cancel = true;
        }
    }
    private void closeStoryBoard_Completed(object sender, EventArgs e)
    {
        closeStoryBoardCompleted = true;
        this.Close();
    }

      Modified On Mar-30-2018 05:18:27 AM

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!