레이블 콘트롤은 가장 간단한 형태로
말 그대로 라벨(Label) 작업과 같습니다.
텍스트블록은 긴 텍스트를 표시하는데
적합하고 레이블은 짧은 텍스트에 적합합니다.
깊게 따지면 레이블과 텍스트블록과는
성격이 다른 것인데 레이블의
차별점이라면 레이블 내부에 이미지 등
콘트롤을 담을 수 있습니다.
레이블 내부에 패널을 넣을 수가 있습니다.
그리고 Alt 키를 사용한 단축키
바인딩 기능이 있습니다.
Label Content를 _Name으로
지정했다면 alt + n으로 바인딩 된
요소에 포커스를 줍니다.
키보드로 라벨링에 한번에
액세스할 수 있는 것과 같습니다.
우선 간단하게 만들어 봅니다.
<StackPanel Margin="20">
<Label>레이블1</Label>
</StackPanel>
레이블은 Content 속성에 문자열을 저장합니다.
역시 HTML과도 많이 닮았습니다.
<Label Content="MyLabel" Foreground="Blue" FontSize="15"/>
Access Key는 아래와 같이 사용합니다.
Label Content 속성의 접두어로 _
Target 에 포커스를 줄 콘트롤을
Binding 합니다. _Name이라면
alt + n 키 조합으로 텍스트박스에 포커스합니다.
라벨의 뜻 처럼 다른 콘트롤에 쉽게
접근할 수 있는 키가 됩니다.(Access Key)
<StackPanel Margin="20">
<Label Content="_Name: " Target="{Binding ElementName=tb1}"/>
<TextBox Name="tb1"/>
<Label Content="_Email: " Target="{Binding ElementName=tb2}"/>
<TextBox Name="tb2"/>
<Label Content="_Address: " Target="{Binding ElementName=tb3}"/>
<TextBox Name="tb3"/>
</StackPanel>
레이블과 텍스트블록의 가장 큰 차이는
이 단축키 기능에 있습니다. (니모닉)
간단하게 텍스트만 출력하는 것에는
TextBlock 의 사용을 권장하는데
텍스트 래퍼가 있고 레이블에 비해
가벼운 클래스 이기 때문입니다.