WPF TextBlock 요소와 Label 컨트롤의 차이점은 무엇입니까? [복제]
이 질문에 이미 답변이 있습니다.
- Label과 TextBlock 4 답변의 차이점
다음 스 니펫은 시각적으로 동일한 UI를 생성합니다. 그럼 왜 2 개의 컨트롤이 있는가 ..
Snippet1
<TextBlock>Name:</TextBlock>
<TextBox Name="nameTextBox" />
스 니펫 2
<Label>Name:</Label>
<TextBox Name="nameTextBox" />
( 글쎄, 나는 이것에 직접 대답 할 것이다 ... 이것이 내가 오늘 프로그래밍 WPF 에서 배운 유용한 정보라고 생각했다 )
WPF Textblock 은 Label Control처럼 System.Windows.Control 에서 파생되는 대신 FrameworkElement 에서 상속됩니다 . 이것은 Textblock이 훨씬 더 가볍다는 것을 의미합니다. 텍스트 블록 사용의 단점은 액세스 / 가속기 키를 지원하지 않으며 대상으로 다른 컨트롤에 대한 링크가 없다는 것입니다.
텍스트 만 표시하려면 TextBlock을 사용하십시오 . 이점은 텍스트를 표시하는 가볍고 효과적인 방법입니다.
TextBox와 같은 다른 컨트롤과 텍스트를 연결하려면 Label 컨트롤을 사용하십시오 . 이점은 액세스 키와 대상 제어에 대한 참조입니다.
레이블은 중요한 초점 처리 책임 이 있으며, 그 목적은 액세스 키를 사용하여 캡션을 배치하는 것입니다. 그것은이 대상 액세스 키의 대상을 나타내는 속성을. 이렇게 ...
<Label Target="{Binding ElementName=nameTextBox}">_Name:</Label>
<TextBox x:Name="nameTextBox" />
Target 속성이 없으면 Label 컨트롤이 유용하지 않습니다. '요청을 처리 할 수 없음'을 나타내는 액세스 키를 누르면 경고음 만 들립니다.
TextBlocks 및 Labels와 관련된 혼란의 가장 큰 두 가지 이유는 Windows Forms와 상식입니다.
Windows Forms의 양식에 약간의 텍스트를 긁고 싶을 때 레이블을 사용했기 때문에 WPF 레이블로 동일한 작업을 수행하는 (잘못) 따르게됩니다.
상식은 반대가 사실 일 때 Label은 가볍고 TextBlock은 그렇지 않다고 믿게합니다.
Label 안에 TextBlock을 넣을 수 있습니다.
으로 TextBlock
우리가 쉽게 멀티 라인 지원을 할 것 같아요 - 사용 TextWrapping
.
사용 Label
예 : 확인 메시지 사용에 필요 표시, 이러한 경우에 <AccessKey>
덜 똑바로 앞으로보다 태그를 TextBlock
.
반면에 TextBlock
not을 사용하면 BorderBrush
속성 을 설정할 수 있습니다.
그래서 나에게 두 컨트롤은 텍스트 전체 기능 컨트롤로 결합되어야합니다.
Label은 문자열, 숫자 등과 같은 모든 종류의 데이터 입력을받습니다. 이름에서 알 수 있듯이 TextBlock은 텍스트 문자열 만받습니다.
레이블은 컨트롤의 레이블과 같이 최소한의 텍스트 지원이 필요한 상황에서 TextBlock의 대안으로 사용할 수 있습니다. Label을 사용하면 TextBlock보다 훨씬 적은 리소스 (더 가벼운 무게)가 필요하기 때문에 유리할 수 있습니다.
'programing' 카테고리의 다른 글
: nth-child () 또는 : nth-of-type ()을 임의의 선택기와 결합 할 수 있습니까? (0) | 2020.08.18 |
---|---|
중첩 함수의 지역 변수 (0) | 2020.08.18 |
PHP에서 리퍼러 결정 (0) | 2020.08.18 |
JavaScript를 사용하여 스크롤 막대 너비 가져 오기 (0) | 2020.08.17 |
Regex를 사용하여 Javascript에서 HTML 태그 제거 (0) | 2020.08.17 |