WPF显示常用的几个显示文字控件TextBox, TextBlock, Lable

TextBox, TextBlock, Lable

  其中TextBox 和Lable均继承了Control类 可以对其进行模板编辑。

  而TextBlock没有继承Control所以不能对其进行模板编辑

  我的程序中需要做一个二级菜单,菜单项只需要显示文字,并且水平,垂直都居中,并且可以设置图片背景,并且对背景进行隐藏控制即可。

  平时最常用的肯定是TextBlock 了,以为用它编辑模板,对背景做触发器进行动画控制,但发现其实TextBlock原来只可以编辑样式,不能对其编辑模板,转到定义到元数据,才发现:TextBlock : FrameworkElement, IContentHost, IAddChildInternal, IAddChild, IServiceProvider

  原来TextBlock 直接继承了FrameworkElement 而并没有继承Controls

  接下来想到的就是TextBox 将其背景,边框均进行设置也可以实现想要的效果,但是当调节文字的垂直居中时就不行了!

  而且TextBox是可编辑的,虽然将其IsReadOnly属性设置成True 但还是有插入条。如果将IsEnable设置成false 样式就不可控制了!

  最后只好改用Lable控件,它继承自Control可以对其进行模板编辑,而且,样式也容易设置,并且可以设置水平垂直居中!

  只是Lable接受的不是Text属性。

  本文来自shouyu2851博客,转载请标明出处:http://blog.csdn.net/shouyu2851/archive/2011/06/30/6577669.aspx

扫描二维码关注公众号,回复: 3466538 查看本文章

猜你喜欢

转载自blog.csdn.net/ghevinn/article/details/47122501