繁体   English   中英

在Windows Phone上禁用空格键

[英]Disable Space key on Windows Phone

我有一个文本框,不允许用户在其中写空格。

到目前为止,我有以下代码:

private void SearchCriteria_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
    if (e.Key.ToString() == "Space")
    {
        DelLast = SearchCriteria.Text;
        NeedsToDelete = true;
    }
}

private void SearchCriteria_KeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
    if (NeedsToDelete == true)
    {
        SearchCriteria.Text = DelLast;
        NeedsToDelete = false;
    }
}

它可以工作,但是光标位于文本的前面。 还有另一种方法吗?

尝试这个 :

    private void SearchCriteria_KeyUp(object sender, System.Windows.Input.KeyEventArgs e)
    {
        if (NeedsToDelete == true)
        {
            SearchCriteria.Text = DelLast;
            NeedsToDelete = false;
            SearchCriteria.Select(SearchCriteria.Text.Length, 0);
        }
    }

SelectionStart保存在OnKeyDown事件中,然后在OnKeyUpEvent中再次进行设置

private void SearchCriteria_KeyDown(object sender, System.Windows.Input.KeyEventArgs e
{
    if (e.Key.ToString() == "Space")
    {
        DelLast = SearchCriteria.Text;
        NeedsToDelete = true;
        _selectionStart = SearchCriteria.SelectionStart;
    }
}
private void SearchCriteria_KeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
    if (NeedsToDelete == true)
    {
        SearchCriteria.Text = DelLast;
        SearchCriteria.SelectionStart = _selectionStart;
        NeedsToDelete = false;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM