Label控件

Label控件

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:Visual Studio 2015

作者:李成富

撰写时间:2019年8月12日

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Label 控件通常在用户界面 (UI) 中提供信息。一直以来,Label 只包含文本,但由于 Windows Presentation Foundation 附带的 Label 是一个 ContentControl,所以它可以包含文本或 UIElement. Label 为快捷键提供功能性和可视化支持。它常用于实现对控件(如 TextBox)的快速键盘访问。

 

Label控件在最简单的形式下和TextBlock控件看起来非常像,但很快就会发现,Label使用的是Content属性而不是Text属性。这是因为Label内部可以放置任意类型的控件而不仅仅是文本。当然这个内容也可以是一个字符串,例子中看到这个用法:

<Grid>

<Label Content="This is a Label control." />

</Grid>

 

效果图:

标签默认情况下就有边框留空,这样文本会显示在离左上角稍微一点距离的地方。这个在文本框可没有,你必须手动设置。

 

Label控件和TextBlock控件的对比:

LabelTextBlock之间有一些重要的区別。

TextBlock允许呈现文本字串,而Label还允许做下列的事情:

  1. 设定边界(border)
  2. 渲染其他控件,例如一张图片
  3. 通过ContentTemplate属性使用模板化的内容
  4. 使用访问键聚焦到相关的控件上

 

使用Label取代TextBlock控件的其中一个主要原因:当只是需要渲染简单的文本内容时,你应该使用TextBlock控件,因为它更轻量并且在大多数场景下性能比Label好。

 

标签和快捷键

Windows和其他操作系统中,通常可以用组合键来访问控件,按住[Alt]键,然后按下对应于该控件的字母键,就可以了。当你按住[Alt]键时,字母键会高亮显示。文本框不支持这个功能,而标签可以,所以这个标签就非常有用了。

XAML代码:

<StackPanel Margin="10">

<Label Content="_Name:" Target="{Binding ElementName=txtName}" />

<TextBox Name="txtName" />

<Label Content="_Mail:" Target="{Binding ElementName=txtMail}" />

<TextBox Name="txtMail" />

</StackPanel>

 

效果图(右边是按住[Alt]键时,字母键会高亮显示):

界面右边显示的是按下[Alt]键时的情景,会出现一条下划线。尝试按下[Alt]键,然后按N和M,你会发现光标是如何在两个文本框切换的。

 

总结:首先,通过在字母前面加一条下划线来定义快捷键,不一定必须是首字母,任何位置的字母都可以,一般都是使用首字母作为快捷键,当然,这个字母在其他控件那里没有被用过。其次,使用Target属性来把所需要的控件绑定到标签。使用标准的WPF绑定,通过一个ElementName属性。绑定是基于控件名字的,一旦控件名字变了,那么绑定的地方一定要记得修改。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值