Я столкнулся именно с этим и только что опубликовал пример на WPF ComboBox DropDown часть появляется в неправильном месте , который работал для меня.Заинтересованный читатель может пойти туда, чтобы просмотреть мой комментарий, но вот фрагмент (ПРИМЕЧАНИЕ: WindoBaseLoadedHandler - это обработчик «Loaded =», указанный в XAML):
protected void WindowBaseLoadedHandler(object sender, RoutedEventArgs e)
{
... несущественные строки кодаудалено ...
if (DataContext != null)
{
Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() =>
{
this.IsEnabled = false;
LoginDlg loginDlg = new LoginDlg();
loginDlg.ShowDialog();
if (!loginDlg.Success)
{
/*-----------------------------------
* Log on failed -- terminate app...
*----------------------------------*/
...termination logic removed...
}
this.IsEnabled = true;
}));
}