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;
}

РЕДАКТИРОВАТЬ: Странно то, что этого не происходит, если приложение запущено в режиме отладки.

0 ответов

Другие вопросы по тегам