materialDesign: диалог DialogHost закрывается при попытке открыть файл из FileOpenDialog - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть элемент управления в <materialDesign:DialogHost CloseOnClickAway="True" />, который открывает систему FileOpenDialog.Если дважды щелкнуть FileOpenDialog, чтобы открыть файл, фоновое диалоговое окно хоста закроется.Я сузил это, что диалоговое окно файла закрывается на второй mouse-down , и приложение отвечает на последующее mouse-up событие.

Любые предложения покак это предотвратить?

1 Ответ

0 голосов
/ 05 апреля 2019

Так что я придумала решение, хотя оно кажется немного хакерским.У <materialDesign:DialogHost /> есть свойство DialogClosing, которое позволяет вам указать обратный вызов при запуске события закрытия.В коде позади я создал обработчик событий public void MainViewModel_CheckIfDialogShouldClose(object sender, DialogClosingEventArgs e), который вызывает функцию подкласса FileOpenDialog WasOpenRecently.Эта функция возвращает true / false, если диалог был закрыт в течение последних 250 миллисекунд.Если мы вернем true, мы e.Cancel(); отменим событие закрытия DialogHost.

...