Простейший пример:
На странице есть поле текстового ввода (input с желтым фоном) и компонент дизайнера отчетов Stimulsoft (из NuGet-пакета "Stimulsoft.Reports.Blazor" версии 2025.3.1) В дизайнере отчета создаем новый отчет, добавляем на страницу любой элемент, например "Текст".
Кликаем по внешнему полю текстового ввода, пишем любой текст. Затем выделяем часть введенного текста и нажимаем клавишу "Delete". Результат - в поле текстового ввода удаляется выделенный текст (ожидаемый результат), но вместе с ним удаляется и элемент на странице в дизайнере отчетов, хотя тот находится не в фокусе (не ожидаемый результат).
Аналогично и в обратную сторону: в поле текстового ввода выделяем текст, затем кликаем на элемент на странице в дизайнере отчетов (можно даже поперемещать его), нажимаем клавишу "Delete".
Результат - элемент в дизайнере отчетов удаляется (ожидаемый результат), но вместе с ним удаляется и выделенный текст во внешнем поле текстового ввода, хотя тот находится не в фокусе (не ожидаемый результат).
Проблема актуальна и для других горячих клавиш, например Ctrl+C, Ctrl+V, Ctrl+X и т.д.
Также в моем Blazor-приложении используется глобальная обработка горячих клавиш через JavaScript
Код: Выделить всё
window.addEventListener('keydown', ...)
Проблема серьезная, поскольку использование горячих клавиш в дизайнере отчетов ломает взаимодействие с Blazor-страницей, и в конечном итоге не позволяет внедрить дизайнер отчетов в приложение.
Проект с упомянутым примером во вложениях.