Кэширование событий мыши во время вызова showdialog - PullRequest
0 голосов
/ 26 сентября 2018

Существуют внешние программы Windows, которые имеют кнопку, которая может вызвать мое приложение COM, и это открывает окно WPF.Код ниже позволяет открыть мое окно.Окно вызова становится неактивным, но по-прежнему регистрируются щелчки.Когда мое окно закрывается, оно начинает выполнять все кэшированные клики.Я не имею никакого контроля над приложениями, вызывающими мое окно.Если я изменю диспетчер на BeginInvoke, он не деактивирует окно приложения, а просто открывает несколько новых экземпляров при каждом нажатии кнопки.Как я могу остановить кэшированные клики в неактивном окне?

    public void DoSetupDialog()
    {
        Dispatcher.Invoke(() =>
        {
            if (SetupWindow != null) return;
            SetupWindow = new SetupWindow {Topmost = true};
            SetupWindow.ShowDialog();
            if (ObjectsCount <= 1)
            {
                Close();
            }

        });
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...