不要隐藏软键盘,而点击控制在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对象,但我找不到任何可能的解决方案。

所以问题是,你如何强迫键盘不失去焦点/不隐藏,而敲击控制?

不要隐藏软键盘,而点击控制在WP

我发现在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(键盘)