2011-04-07 5 views
1

WP7 앱의 사용자로부터 일부 문자 집합 (기본값 7)을 가져오고 싶습니다. 나는 그 생각에 결혼하지 않았지만 TextBox를 사용하려고합니다. 현재 나의 계획은 Making TextBox Numbers Only for Windows Phone 7에 기술 된 기술을 사용하여 KeyUp 이벤트에서 글자를 글자로 제한 (그리고 대문자로 변환)하는 것입니다. 내가 알 수 있듯이 그 일을하는 또 다른 좋은 방법은 없습니다.문자열에서 허용되는 문자 수를 제한하는 TextBox

TextBox의 텍스트 길이가 7보다 큰 경우 동일한 문자 수를 제한하고 있습니다. 문자를 제거합니다.

구현의 버그 (이미 텍스트 상자의 첫 번째 문자의 백 스페이스를 처리하는 방법)가 이미 구현에 문제가 있다고 가정합니다.

TextBox의 텍스트 길이를 제한하는 더 좋은 방법이 있습니까?

답변

6

TextBox의 MaxLength 속성을 사용하여 텍스트를 특정 길이로 제한하십시오. 변경해야 할 경우 뷰 모델의 속성에 바인딩 할 수 있습니다.

키 업 이벤트 핸들러를 사용하여 대소 문자를 변경하십시오.

+0

문서를 검색하는 데 1 시간이 넘는 시간을 들여서 놀랐습니다. 감사! – SirPentor

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; 
    } 
} 
관련 문제