В работе над нашим приложением довольно часто сталкивались с тем, что при открытии  диалога, например, таким образом:

SomeDlg wnd = new SomeDlg ();
if (wnd.ShowDialog() == true)
{
    ...
}

диалог появляется над основным окном приложения, но если переключаться между окнами, то положение диалога не сохраняется. Почему? А потому, что мы нужно делать вот так:

SomeDlg wnd = new SomeDlg ();
wnd.Owner = Window.GetWindow(this);
if (wnd.ShowDialog() == true)
{
    ...
}

Эта бесценная информация была вычитана примерно здесь:
Ссылка на stackoverflow.com

© 2013 Вино из одуванчиков Suffusion theme by Sayontan Sinha