Page List

2015년 10월 26일 월요일

[WPF] TextBox

TextBox는 텍스트를 표시하거나 편집할 수 있는 컨트롤 입니다.


아래와 같이 만들어 보겠습니다.

빠른검색텍스트는 placeholdertext (값을 입력하지 않은 경우에 표시되는 텍스트) 입니다.
UWP에선 TextBox에 기본속성으로 placeholdertext가 있지만,
WPF에는 없죠. 이 기능까지 포함해보겠습니다.



Style을 만들기 위해, 복사본 편집을 합니다.




기본 뼈대빼고 싹 지운상태에서 아래와 같이 설정
placeholderTextblock에 값을 지정해야하므로, 문자열 입력가능한 Tag에 바인딩 해줬습니다.




이렇게해서, 디자인은 완성되었습니다.
이제 placeholder 기능을 해보겠습니다.
기능구현을 위해 ChangePropertyAction 3개가 필요합니다.

첫번째 ChangePropertyAction 내용은
Textbox가 포커스 받으면, placeholderTextBlock을 Collapsed 하라




두번째 ChangePropertyAction 내용은
Textbox에서 포커스가 떠났을 때, placeholderTextBlock을 Visible 하라
단, Textbox의 Text값이 없을 경우에만 해당된다.
ps. 값이 없을 경우라 함은 RightOperand="" 입니다.




세번째 ChangePropertyAction 내용은
Textbox가 Load될 때, placeholderTextBlock을 Collapsed 하라
단, Textbox의 Text값이 없지 않을 경우에만 해당된다.
ps. 값이 없지 않을 경우라함은 RightOperand="" 입니다.




placeholder기능도 완료하였습니다.
아래와 같이 설정하시면, 두번째 TextBox는 왼쪽화면처럼 텍스트들이 겹치죠~
하지만 실행하시면, 오른쪽화면처럼 제대로 보이실겁니다.
기능동작 역시 제대로 되실겁니다.




추가로 알아둘만한 속성들 설명입니다.

AcceptsReturn : Enter가능여부
AcceptsTab : Tab가능여부 (True - 탭 띄어쓰기 가능)
AutoWordSelection : (True - 한글자씩 선택되는것이 아닌 단어 전체가 선택됨)
CharacterCasing : Lower(소문자)
                             Upper(대문자)
TextWrapping : Wrap(줄바꿈)
                           WrapWithOverflow(단어 단위 줄바꿈)

여기서 단어라 함은, 스페이스바 기준으로 나뉘어져 있는 텍스트들을 단어라 함.





0 개의 댓글:

댓글 쓰기