본문 바로가기

Programming/WPF

WPF TextBlock vs Label

반응형

 

간단한 텍스트 등을 표시하기 위해 사용하는 컨트롤이 대표적으로 TextBlockLabel이다.

둘 다 비슷한 용도로 써왔던 것 같은데 분명 다른 컨트롤이고 어떤 특징이 있는지 궁금해 찾아보았다.

 

결론부터 말하면 Label은 기능이 많고 TextBlock은 심플하다

Label이 WPF라면 TextBlock은 Winform 같은 느낌이랄까

 

TextBlock : FrameworkElement

TextBlock은 FrameworkElement를 상속한다. 즉, 프레임워크 바로 밑단의 컨트롤이다.

(기능이 별로 없고 가볍다)

 

Label : ContentControl : Control : FrameworkElement

그에 반해 Label은 ContentControl을 상속한다. 

ContentControl은 Control을 상속하고 Control이 FrameworkElement를 상속한다.

즉, Lable은 Control, ContentControl의 특성을 사용할 수 있다. (확장성이 있다)

 

Custom Control과의 상호작용 등을 고려했을 때 Template, Content 등의 특성을 사용하지 않더라도

그냥 Label을 사용하는 것이 좋겠다

 

ref : https://www.c-sharpcorner.com/blogs/wpf-textblock-vs-label1

반응형