Существуют внешние программы Windows, которые имеют кнопку, которая может вызвать мое приложение COM, и это открывает окно WPF.Код ниже позволяет открыть мое окно.Окно вызова становится неактивным, но по-прежнему регистрируются щелчки.Когда мое окно закрывается, оно начинает выполнять все кэшированные клики.Я не имею никакого контроля над приложениями, вызывающими мое окно.Если я изменю диспетчер на BeginInvoke, он не деактивирует окно приложения, а просто открывает несколько новых экземпляров при каждом нажатии кнопки.Как я могу остановить кэшированные клики в неактивном окне?
public void DoSetupDialog()
{
Dispatcher.Invoke(() =>
{
if (SetupWindow != null) return;
SetupWindow = new SetupWindow {Topmost = true};
SetupWindow.ShowDialog();
if (ObjectsCount <= 1)
{
Close();
}
});
}