In a PC with multiple monitors, say you run your application which have have a second Window/Dialog other than the main window (such as Options) that you want it to open in
Have you looked at the WindowStartupLocation
property for Window
?
CenterScreen
places the Window in the center of the screen containing the cursor, which should normally be fine. For example, if a user clicks a button on your Window and a dialog opens, the cursor will still be over the button and thus the dialog will show up in the center of the same Window.
CenterOwner
places the Dialog in the center of the Window specified as it's owner. Declare the new Window similar to this:
MyDialog d = new MyDialog { Owner = parentWindow };
d.ShowDialog();
I'd like to add to this the fact that if you start the second dialog maximized, it will default to the main screen. As a workaround, I set the maximize flag in the OnLoad method.