Отображение сенсорной клавиатуры на пользовательском элементе управления

Образец сенсорной клавиатуры показывает, как разработчики могут сообщить системе, что сенсорная клавиатура отображается пользователем, когда пользователь нажимает на пользовательский элемент управления [возможно, в режиме планшета]. Было отмечено, что

На ПК вы можете запросить отображение сенсорной клавиатуры для пользовательского элемента управления, реализовав интерфейс поставщика TextPattern (ITextProvider) и интерфейс поставщика ValuePattern (IValueProvider). Не поддерживается на телефоне.

Кто-нибудь знает, как добиться того же на телефонах с Windows 10? В качестве примечания, мне интересно, почему существует такое несоответствие между настольным компьютером и телефоном. Я думал, что Континуум работает в любом сценарии.

1 ответ

На телефоне вы, я думаю, вы сможете использовать событие InputPane и CoreWindow.CharacterReceived. Подпишитесь на событие, чтобы узнать, какая клавиша была нажата, и показать / скрыть клавиатуру с помощью методов InputPane. Пример, показывающий нажатия клавиш, может выглядеть следующим образом:

public MainPage()
{
    this.InitializeComponent();
    Window.Current.CoreWindow.CharacterReceived += (s, e) =>
    {
        Debug.WriteLine($"Character received -> {e.KeyCode}");
        e.Handled = true;
    };
}

private void Button_Click(object sender, RoutedEventArgs e)
{
    InputPane pane = InputPane.GetForCurrentView();
    pane.TryShow();
}
Другие вопросы по тегам