TextBlock or Label?

        Silverlight中TextBlock和Label的区别?这段话突然被问到还真没概念....,印象中都是呈现文本的,区别何在还真不知道...

  1. 首先从所在的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对其呈现做更精确的控制,在呈现控制方面更有优势。

  事务都是有其适用性的,不同的对象在不同的领域和场景中会有更好的表现,结合场景也会帮助我们更好地理解和运用对象。

      

  

 

  

   

posted @ 2014-03-10 14:16  小白快跑  阅读(217)  评论(0编辑  收藏  举报