TextBlock or Label?
Silverlight中TextBlock和Label的区别?这段话突然被问到还真没概念....,印象中都是呈现文本的,区别何在还真不知道...
- 首先从所在的dll来看可能会有比较清晰的了解,其命名空间都是System.Windows.Controls
Label:System.Windows.Controls.Data.Input.dll
TextBlock:System.Windows.dll
由其命名空间我们可能得知其用途是不一样的。
2. VisualTree(继承体系是不一样的)
FrameworkElement<--Control<--ContentControl<--Label
FrameworkElement<--TextBlock
我们知道Label的Content的Object类型的,即可以存放任意类型的数据,其场景应该是和数据交互时使用较多借助OnContentChanged事件和Refresh方法可以使其在该领域更为适合。而TextBlock是Text。其呈现可以从Inlines中添加(InLine类型的数据),可以通过 Xaml对其呈现做更精确的控制,在呈现控制方面更有优势。
事务都是有其适用性的,不同的对象在不同的领域和场景中会有更好的表现,结合场景也会帮助我们更好地理解和运用对象。