C# UWP отключить клавиатуру телефона для текстового поля или всей страницы
У меня есть 2 текстовых поля. я сделал свою собственную клавиатуру, чтобы пользователь использовал мою клавиатуру и ее кнопки etrxa. но когда я нажимаю на текстовое поле, чтобы набрать его, выскакивает клавиатура телефона на моем эмуляторе телефона. Я попытался "PreventKeyboardDisplayOnProgrammaticFocus", но я прочитал, что отключить его можно только тогда, когда программа сама выбирает текстовое поле.
Я прочитал, что InputPane может помочь мне отключить его, но я не могу понять, как его использовать, и не могу найти способ сделать это где-нибудь еще.
Кто-нибудь может мне помочь, я просто хочу, чтобы клавиатура была отключена для определенных текстовых полей или всей страницы, чтобы при нажатии на текстовое поле она не появлялась.
ОБНОВЛЕНИЕ: хорошо, мне удалось после долгих раздумий сделать это для моего приложения, я установил оба текстовых поля xaml
<TextBox IsReadOnly="True" />
так что теперь клавиатура не будет отображаться для этого текстового поля, так как я "не хочу направо", тогда мои кнопки, в зависимости от 2 флагов, которые указывают на то, на каком фокусе находится TextBox, будут расположены там. Но все же, если кто-то знает, как полностью отключить клавиатуру, это может помочь, если я не ошибаюсь на Android, существует такая вещь, как отключить клавиатуру для этого текстового поля.
1 ответ
Вы можете использовать свойство TextBox.PreventKeyboardDisplayOnProgrammaticFocus, но вам также нужно изменить фокус вашего текстового поля на Programmatic.
Простой пример:
<TextBox x:Name="myTextBox" PreventKeyboardDisplayOnProgrammaticFocus="True"/>
public MainPage()
{
this.InitializeComponent();
timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(500);
timer.Tick += delegate
{
try
{
myTextBox.Focus(FocusState.Programmatic);
timer.Stop();
}
catch { }
};
}