Link to home
Avatar of G Scott
G ScottFlag for United States of America

asked on

Close WPF Window From Another Window ContentRendered Event

I have 3 windows.  Window1 opens Window2 in a new thread.  It's just a window that says 'Loading'.  Window1 also opens Window3.  When Window3's ContentRendered fires I want to close Window2.

I have tried numerous things.  Why is this so difficult?  Maybe it isn't and I am just making it this difficult.

     For Each Window In Application.Current.Windows
            If Window = "Window2" Then
                Window.close()


            End If
        Next


That, of course, fails.  Can someone please tell me how to do this?  It's driving me crazy.  Thanks for any help on this.
Avatar of BlueYonder
BlueYonder

You can have a shared array or a data structure to store all active windows.  Once window 3 loads, search the structure for the window and close it.  Or the other option is to use Dispatcher.FromThread.  Check out http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher.fromthread.aspx.
Avatar of G Scott

ASKER

Haha, BlueYonder...my skills are limited in WPF. I had a mistake in my code up there

 For Each win In Application.Current.Windows
            If win.Name = "winActivity" Then
                win.Close()


            End If
        Next

This works.



Disregard.  This does not work.  Haha..forgot I added a DispatcherTimer to Window2.  It was closing and I thought I had it.
ASKER CERTIFIED SOLUTION
Avatar of G Scott
G Scott
Flag of United States of America image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Avatar of G Scott

ASKER

I found the answer on my own.
Avatar of G Scott

ASKER

Took me a while, but I found the answer on my own.