Windows phone 7 文本框,用于限制字符串中允许的字符数(并确保它们都是大写字母)

Windows phone 7 文本框,用于限制字符串中允许的字符数(并确保它们都是大写字母),windows-phone-7,Windows Phone 7,我想在WP7应用程序上从用户那里获得一组字母(默认为7)。我正在尝试使用一个文本框,尽管我并不赞同这个想法。我目前的计划是使用中描述的技术,在KeyUp事件中将字符限制为字母(并将其转换为大写)。就我所知,没有别的好办法了 对于限制字符数,我也在做同样的事情——如果文本框中的文本长度大于7,我将删除该字符 我已经在我的实现中遇到了错误(我如何处理退格,尤其是文本框中的第一个字符),这让我认为这个实现存在很多问题 是否有更好的方法限制文本框中文本的长度?使用文本框上的MaxLength属性将文本限

我想在WP7应用程序上从用户那里获得一组字母(默认为7)。我正在尝试使用一个文本框,尽管我并不赞同这个想法。我目前的计划是使用中描述的技术,在KeyUp事件中将字符限制为字母(并将其转换为大写)。就我所知,没有别的好办法了

对于限制字符数,我也在做同样的事情——如果文本框中的文本长度大于7,我将删除该字符

我已经在我的实现中遇到了错误(我如何处理退格,尤其是文本框中的第一个字符),这让我认为这个实现存在很多问题


是否有更好的方法限制文本框中文本的长度?

使用文本框上的MaxLength属性将文本限制为特定长度。如果需要更改,可以将其绑定到视图模型上的属性


使用向上键事件处理程序更改大小写。

使用文本框上的MaxLength属性将文本限制为特定长度。如果需要更改,可以将其绑定到视图模型上的属性


使用key up事件处理程序更改案例。

我意识到这是一篇相当古老的帖子。Maxlength不适用于我的Windows Phone 8.1项目,因此我在下面创建了一个事件处理程序:

private void txtBox_TextChanged(object sender, TextChangedEventArgs e)
{
    if (txtBox.Text.Length > 7)
    {
        txtBox.Text = txtBox.Text.Substring(0, 7);
        // the cursor is now at the beginning of the box
        // set it back to the end so there is no overwriting
        txtBox.SelectionStart = txtBox.Text.Length;
        txtBox.SelectionLength = 0;
    }
}

我意识到这是一个相当古老的帖子。Maxlength不适用于我的Windows Phone 8.1项目,因此我在下面创建了一个事件处理程序:

private void txtBox_TextChanged(object sender, TextChangedEventArgs e)
{
    if (txtBox.Text.Length > 7)
    {
        txtBox.Text = txtBox.Text.Substring(0, 7);
        // the cursor is now at the beginning of the box
        // set it back to the end so there is no overwriting
        txtBox.SelectionStart = txtBox.Text.Length;
        txtBox.SelectionLength = 0;
    }
}

令人惊讶的是,我在一个多小时的文档搜索中错过了这一点。谢谢令人惊讶的是,我在一个多小时的文档搜索中错过了这一点。谢谢