Встроенное приложение Unity в WPF теряет фокус после щелчка мышью (решено) - PullRequest
0 голосов
/ 08 мая 2020

Я создаю приложение Unity (версия 2019.3.12f1), встроенное в хост-приложение WPF. В главном приложении пользователь может переключаться между разными вкладками (одна из них - «вид» -> наше приложение Unity). Когда вкладка Unity "закрыта", она остается активной в фоновом режиме (установлен флажок в настройках Unity Player). Однако при "переходе" обратно в Unity он теряет фокус после любого щелчка мыши и, следовательно, не будет реагировать на дополнительные события UI-Click, GetMouseButton или Mouse.GetAxis ("Mouse X)". Как ни странно, OnMouseEnter, OnMouseExit и OnMouseDown события (по сравнению с обычными GameObject) по-прежнему запускают определенные функции.

То, что я пробовал до сих пор: импорт DLL32 и использование SetForegroundWindow (IntPtr hwnd);, ShowWindow (...), ShowWindowAsyn c (. ..).

К сожалению, я не могу отлаживать напрямую в Unity (потому что он работает только как отдельная версия в приложении WPF). Так что пока все, что я делаю, это отображение таких вещей, как Application.isFocused. ToString (); в простых текстовых элементах.

Кто-нибудь сталкивался с подобными проблемами?

1 Ответ

0 голосов
/ 15 мая 2020

Разобрался ... WPF застрял внутри события загрузки, столкнулся с исключением, но почему-то не показывал его в Visual Studio.

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