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 { }
    };
}
Другие вопросы по тегам