У меня проблема с моим wpf-приложением, когда за основным приложением появляется модальное диалоговое окно, вызывающее зависание.
Это очень противоречиво, когда большую часть времени всплывающее окно работает правильно и отображается спереди, но иногда оно всплывает сзади, что останавливает любое взаимодействие с ним.Я все еще могу закрыть диалог, используя панель задач, если это произойдет.Я заметил, что это обычно происходит, когда много других приложений открыты и панель задач заполнена.Кроме того, я работаю с двумя экранами, и проблема возникает только на экране с панелью задач - очень странно!
Диалог является оконным элементом управления, который содержит введенный пользовательский контроль в качестве контекста данных.Чтобы установить владельца окна перед вызовом ShowDialog (), вместо Window.GetWindow (this) используется первое активное окно в приложении:
private static Window GetOwner()
{
if (Application.Current != null)
{
var owner = Application.Current.Windows.Cast().FirstOrDefault(w => w.IsActive);
return owner ?? Application.Current.MainWindow;
}
return null;
}
Есть идеи, что может вызывать эту проблему?или даже как попытаться отследить это, чтобы я мог собрать больше информации, когда это произойдет?
Спасибо, Донал