1

点击文本框时是否可以不显示系统键盘?我创建了自定义键盘并且只能使用文本块,因此我不能只删除部分句子。

4

2 回答 2

3

如果您设置IsReadOnly为,true那么用户仍然可以选择 a 中的文本TextBox进行复制粘贴,并且操作系统在选择时不会显示软件输入键盘。不过,您仍然可以更改TextBox直通代码的内容。例如;

<TextBox x:Name="ExampleTextBox"
         IsReadOnly="True"
         Text="Initial Content" 
         GotFocus="ExampleTextBox_GotFocus"
         />

在你的代码后面;

private void ExampleTextBox_GotFocus(object sender, System.Windows.RoutedEventArgs e) {
  ExampleTextBox.Text += " ... focused!";
}

将阻止用户通过软件键盘输入文本,但每次将焦点放在TextBox. 人为的例子,但你明白了。

我建议的唯一另一件事是重新设计TextBox. 默认情况下,何时IsReadOnly设置TextBox将提供用户无法修改的视觉提示。这不是这里的情况。

于 2012-05-09T12:26:05.730 回答
1

如果用户触摸键盘,键盘将获得焦点。

作为开发人员,您唯一的选择就是抓住它并调用 this.focus 将焦点从文本框移开。

然而,这将意味着默认键盘弹出并隐藏的地方会闪烁。

我知道这一点,因为我有一个键盘应用程序。没有其他办法。

于 2012-05-09T12:06:09.950 回答