不要隐藏软键盘,而点击控制在WP
本文关键字:控制 WP 隐藏 键盘 | 更新日期: 2023-09-27 18:02:59
我有这段代码按钮在我的Windows Phone 8.1商店应用程序项目(不是Silverlight):
private void CursorRightButton_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrWhiteSpace(QueryTextBox.Text)) return;
QueryTextBox.Focus(FocusState.Keyboard); //also i tried FocusState.Pointer
QueryTextBox.Select((TextBox.SelectionStart + 1) % (TextBox.Text.Length + 1), 0);
}
正如你所看到的,我试图在文本中以编程方式向右移动光标,问题是它隐藏了软键盘,然后在点击按钮后再次显示它。点击这个按钮时,我需要打开键盘。
我试图修补Focus()方法的发件人和TextBox对象,但我找不到任何可能的解决方案。
所以问题是,你如何强迫键盘不失去焦点/不隐藏,而敲击控制?
我发现在Sajeetharans的帮助下,我需要将控件上的IsTabStop值设置为false。然后键盘会留在那里。我在页面的构造函数中这样做了
public MainPage()
{
InitializeComponent();
CursorLeftButton.IsTabStop = false;
CursorRightButton.IsTabStop = false;
}
和我的按钮方法
private void CursorRightButton_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrWhiteSpace(TextBox.Text)) return;
TextBox.Select((TextBox.SelectionStart + 1) % (TextBox.Text.Length + 1), 0);
}
为您的容器添加一个已加载的事件例如grid,
private void Grid_Loaded(object sender, RoutedEventArgs e)
{
this.IsTabStop = true;
set focus on the control , say a textblock
Txtblock1.Focus();
}
如何通过编程方式取消SIP(键盘)