Отображение сенсорной клавиатуры на пользовательском элементе управления
Образец сенсорной клавиатуры показывает, как разработчики могут сообщить системе, что сенсорная клавиатура отображается пользователем, когда пользователь нажимает на пользовательский элемент управления [возможно, в режиме планшета]. Было отмечено, что
На ПК вы можете запросить отображение сенсорной клавиатуры для пользовательского элемента управления, реализовав интерфейс поставщика 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();
}