반응형
간단한 텍스트 등을 표시하기 위해 사용하는 컨트롤이 대표적으로 TextBlock과 Label이다.
둘 다 비슷한 용도로 써왔던 것 같은데 분명 다른 컨트롤이고 어떤 특징이 있는지 궁금해 찾아보았다.
결론부터 말하면 Label은 기능이 많고 TextBlock은 심플하다
Label이 WPF라면 TextBlock은 Winform 같은 느낌이랄까
TextBlock은 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
반응형