The window _splash is created on a different thread.
MainWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
MainWindow.Owner = _splash; // Throw: The calling thread cannot access this object because a different thread owns it
How can I make this code work ?
Not to sound crass, but you fix it by running the splash screen on the UI thread running the main window. Why does the splash screen need its own thread?