[WPF] 공공데이터 포털 API 이용 클라이언트 구현 Part 3

이미지
그룹핑 ListViewItem 그룹핑 할 수 있습니다. 먼저 CheckBox에 Checked 이벤트를 통해 그룹핑을 추가하고 RemoveChecked 이벤트를 통해 그룹핑을 제거 할 수 있도록 CheckBox를 선언 합니다. 1: <!-- Group CheckBox --> 2: <CheckBox Grid.Column="0" 3: Grid.Row="0" 4: Checked="AddGrouping" 5: Unchecked="RemoveGrouping">Group by Name</CheckBox> 그룹 스타일 선언 GroupStyle 속성에 ContainerStyle 속성을 이용해 Style을 지정 합니다. Expander 컨트롤을 이용해 아파트명과 그룹 아이템의 개수를 Expander Header에 표시 하도록 ControlTemlate를 선언 합니다. 1: <!-- Group Style --> 2: <ListView.GroupStyle> 3: <GroupStyle> 4: <GroupStyle.ContainerStyle> 5: <Style TargetType="{x:Type GroupItem}"> 6: <Setter Property="Margin" Value="0,0,0,5" /> 7: <Setter Property="Te...

WPF Text

Text Block

TextBlock에는 FontFamily, FontSize, FontStyle, FontWeight 및 FontStretch와 같은 모양을 수정하기위한 여러 가지 간단한 속성이 포함되어 있습니다. 그러나 TextBlock의 가장 큰 비밀은 Content 속성이 Text 속성이 아니라 Inline이라는 객체 컬렉션입니다. 

1:  <!-- TextBlock.Inlines가 여기에 설정 됩니다 -->  
2:      <TextBlock>Text in a TextBlock</TextBlock>  

형식 변환기는 값을 단순한 문자열과 유사하게 만들지 만 실제로 Run이라는 요소가있는 컬렉션입니다. 따라서 앞의 XAML은 다음과 같습니다.

1:  <TextBlock><Run Text="Text in a TextBlock" /></TextBlock>  

Run은 단순히 동일한 서식을 가진 텍스트 덩어리입니다. Run에는 상위 TextBlock의 해당 속성 인 FontFamily, FontSize, FontStretch, FontStyle, FontWeight, Foreground 및 TextDecorations를 재정의 할 수있는 몇 가지 서식 속성이 있습니다.

1:  <TextBlock>  
2:        <Run FontStyle="Italic" FontFamily="Georgia" Foreground="Red">Rich</Run>   
3:        <Run FontSize="30" FontFamily="Comic Sans MS" Foreground="Blue"> Text </Run>   
4:        <Run FontFamily="Arial Black" Foreground="Orange" FontSize="100">in</Run>   
5:        <Run FontFamily="Courier New" FontWeight="Bold" Foreground="Green"> a </Run>   
6:        <Run FontFamily="Verdana" TextDecorations="Underline">TextBlock</Run>  
7:      </TextBlock>  


TextBox (또는 RichTextBox)에서 맞춤법 검사를 사용하려면 첨부 된 SpellCheck.IsEnabled 속성을 true로 설정합니다. 결과는 Microsoft Word에서 얻은 것과 비슷한 경험입니다. 맞춤법이 틀린 단어는 빨간색 밑줄이 그어져 오른쪽을 클릭하여 제안 사항을보고 적용 할 수 있습니다. WPF가 사용하는 사전은 Microsoft Office에서 사용하는 사전과 일치하며 해당 언어 팩과 함께 여러 언어로 사용할 수 있습니다. 그러나 WPF는 사용자 지정 사전을 지원하지 않습니다.

RichText

RichTextBox는 서식있는 텍스트 (및 텍스트에 포함 된 임의의 개체)를 포함 할 수있는 고급 TextBox입니다. 그림 11.6은 서식있는 텍스트가있는 RichTextBox 컨트롤을 표시합니다. RichTextBox와 TextBox는 동일한 기본 클래스 (TextBoxBase)를 공유하므로 TextBox로 설명 된 많은 기능이 RichTextBox에도 적용됩니다. RichTextBox에는 다양한 TextBox 속성의보다 정교한 버전이 있습니다. TextBox는 CaretIndex, SelectionStart 및 SelectionEnd와 같은 정수 속성을 노출하지만 RichTextBox는 TextPointer 유형의 CaretPosition 속성과 TextSelection 유형의 Selection 속성을 노출합니다. 또한 RichTextBox의 내용은 간단한 문자열 Text 속성보다는 FlowDocument 형식의 Document 속성에 저장됩니다. RichTextBox의 IsDocumentEnabled 속성이 true로 설정된 경우에는 콘텐츠에 포함 된 UIElements가 포함될 수 있으며 대화 형이면서 이벤트를 발생시킬 수 있습니다. 

PasswordBox

PasswordBox는 암호 입력 용으로 설계된보다 간단한 TextBox입니다. 입력 된 텍스트를 표시하는 대신 작은 원을 표시합니다. 암호의 각 문자를 나타내는 데 사용되는 원 문자가 마음에 들지 않으면 PasswordChar 속성을 통해 새 문자를 선택할 수 있습니다. (기본 문자는 별표이며, 원 모양처럼 특별하게 표시됩니다.) PasswordBox의 텍스트는 Password라는 문자열 속성에 저장됩니다. 내부적으로 암호는 약간의 추가 보호를 위해 System.Security.SecureString 개체에 저장됩니다. 암호화되지 않은 내용이 불명확 한 시간 동안 가비지 수집 힙에 남아있을 수있는 System.String과 달리 SecureString의 내용은 암호화되고 적극적으로 지워집니다.




댓글

이 블로그의 인기 게시물

[C#] Task 완료 시 다른 Task를 자동으로 수행

[C#] 태스크(Task)가 완료될 때 까지 대기하여 결과를 얻는 방법

[C#] 명시적으로 Task 생성 및 실행