zoukankan      html  css  js  c++  java
  • (转)区别TextBlock和Label

    TextBlock和Label都是用来显示少量数据的。好多文章对Label存在的描述都是它允许使用"快速获取"。"快速获取"就是允许你用Alt加上其它的按键快速和UI界面的某个控件交互,比如你可以用ALT加上O键来点击一个OK按钮。

    TextBlock直接继承于FrameworkElement,而Label继承于ContentControl。这样看来,Label可以做这样的事情:

    1.可以定义一个控件模板(通过Template属性)

    2.可以显示出string以外的其他信息(通过Content属性)

    3.为Label内容添加一个DataItemplate(通过ContentTemplate属性)

    4.做一些FrameworkElement元素不能做的事情

    下边是一个TextBlock和Label的继承关系图

    当Label不可用的时候它的Text显示为灰色,但是TextBlock不会

    上例中UserName为TextBlock,Password为Label。

    当Label禁用时候它的Content变为灰色的原因是因为Label的默认模板中有一个触发器,当 Label禁用的时候它会设置Content的颜色。

    如果要改变Label禁用时的样式可以在这改变。

    Label比TextBlock更加复杂

    以上说了Label相当于TextBlock的优势,下面说一下TextBlock的优势

    加载Label时比TextBlock需要耗费更多的时间,不仅仅是Label相对于直接继承于FrameElement的TextBlock有了更多层次的继承,它的visual tree更加复杂。

    下面的图片告诉你是当你创建一个Label的时候后台都做了什么事情。

    TextBlock的visual tree不包含任何子元素,而Label却复杂的多。它有一个border属性,最后通过一个TextBlock来显示内容。这样看来label其实就是一个个性化的TextBlock。。

    (原文http://joshsmithonwpf.wordpress.com/2007/07/04/differences-between-label-and-textblock/

    转自:
    区别TextBlock和Label
    http://joshsmithonwpf.wordpress.com/2007/07/04/differences-between-label-and-textblock/

  • 相关阅读:
    题目
    先贤祠3
    先贤祠2
    先贤祠1
    论文他引次数及ESI高被引论文查询方法
    [唐诗]古风(其三十一)-李白
    [唐诗]古风(其二十四)-李白
    [唐诗]古风(其十九)-李白
    [唐诗]古风(其十五)-李白
    [唐诗]古风(其三)-李白
  • 原文地址:https://www.cnblogs.com/jyfootprint/p/9975945.html
Copyright © 2011-2022 走看看