WPF MaterialDesignThemes DialogHost крадет фокус из активного окна, когда для параметра IsOpen установлено значение False
Я использую DialogHost MaterialDesignThemes в качестве всплывающего окна для ProgressBar. Свойство IsOpen привязано к логическому значению, которое управляет открытием DialogHost.
Когда я запускаю асинхронный метод для выполнения некоторой работы, я открываю DialogHost, чтобы показать, что окно занято, и в конце метода я его закрываю. Проблема в том, что если я тем временем открою другое окно, а асинхронный метод закроется, фокус DialogHost будет украден из нового окна, над которым я работаю.
<Window>
<DialogHost IsOpen="{Binding IsOpenProperty}">
<DialogHost.DialogContent>
<ProgressBar/>
</DialogHost.DialogContent>
<!-- Window Content -->
<DialogHost/>
<Window/>
private async void DoSomeWorkAsync()
{
IsOpenProperty = true;
// Doing some work
IsOpenProperty = false;
}
РЕДАКТИРОВАТЬ: Странно то, что этого не происходит, если приложение запущено в режиме отладки.