UWP сенсорная клавиатура не будет видна
Я пытаюсь заставить сенсорную клавиатуру InputPane правильно отображаться в приложении Universal Windows с помощью ANGLE API. (У меня есть некоторые пользовательские элементы управления вводом, написанные с использованием OpenGL в собственном приложении Android, и я перенесу их в приложение UWP.)
Все работает, как и ожидалось, за исключением сенсорной клавиатуры (весь ввод указателя получен правильно, и клавиатура взаимодействует нормально, если я подключаю аппаратную клавиатуру). Я могу получить InputPane для отображения, но затем он сразу исчезает с экрана.
Вот весь мой код, связанный с InputPane:
void App::SetWindow(CoreWindow^ window)
{
...
InputPane ^input_pane = InputPane::GetForCurrentView();
input_pane->Showing += ref new TypedEventHandler<InputPane^, InputPaneVisibilityEventArgs^>(this, &App::OnInputPaneShowing);
input_pane->Hiding += ref new TypedEventHandler<InputPane^, InputPaneVisibilityEventArgs^>(this, &App::OnInputPaneHiding);
auto core_text_manager = CoreTextServicesManager::GetForCurrentView();
auto core_text = core_text_manager->CreateEditContext();
core_text->InputPaneDisplayPolicy = CoreTextInputPaneDisplayPolicy::Manual;
}
void App::OnInputPaneShowing(InputPane^ sender, InputPaneVisibilityEventArgs^ args)
{
args->EnsuredFocusedElementInView = true;
}
void App::OnInputPaneHiding(InputPane^ sender, InputPaneVisibilityEventArgs^ args)
{
args->EnsuredFocusedElementInView = true;
}
Несколько SO вопросов, таких как этот, просто рекомендуют вызывать InputPane::TryShow(), но я уже делаю это. Появляется InputPane, он просто сразу исчезает (при этом не генерируется событие Hiding).
В соответствии с предложениями в других SO-вопросах, я попытался установить для параметра EnsuredFocusedElementInView значение true, хотя это было больше похоже на выстрел в темноте, поскольку в моем приложении фактически нет объектов Control. Установка политики отображения на Вручную (как показано) вместо Автоматически дала идентичные результаты.
Это происходит независимо от того, является ли приложение полноэкранным или оконным, как в режиме рабочего стола, так и в режиме планшета. Аппаратная клавиатура не подключена. Вызов клавиатуры из значка на панели задач, а затем взаимодействие с приложением приводит к тому, что клавиатура немедленно исчезает, как и раньше.
Если у кого-то есть мысли, они будут очень благодарны. Спасибо.