TextBox限制字符串中允许的字符数(并确保它们都是大写字母)

时间:2011-04-07 02:31:27

标签: windows-phone-7

我希望在WP7应用上从用户那里获得一些字母(默认值为7)。我正在尝试使用TextBox,虽然我没有和那个想法结婚。我目前的计划是使用Making TextBox Numbers Only for Windows Phone 7所描述的技术将字符限制为KeyUp事件上的字母(并将它们转换为大写字母)。我可以说,没有其他好方法可以做到。

我正在做同样的事情来限制字符数 - 如果TextBox中文本的长度是> 7,我删除了这个角色。

我已经在我的实现中遇到了bug(如何处理退格,特别是TextBox中的第一个字符),这让我觉得这个实现存在很多问题。

有没有更好的方法来限制TextBox中的文本长度?

2 个答案:

答案 0 :(得分:6)

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

使用key up事件处理程序来更改大小写。

答案 1 :(得分:0)

我意识到这是一个相当古老的帖子。在Windows Phone 8.1项目中,Maxlength对我不起作用,所以我在下面创建了一个事件处理程序:

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;
    }
}