我只是好奇.. 在我的应用程序中,我使用“只读和无边框”文本框而不是使用标签。文本框基于我在资源文件中保存的样式:
<Style TargetType="{x:Type TextBox}" x:Key="LabelLeftStyle" BasedOn="{StaticResource Basic}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="IsReadOnly" Value="True"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Height" Value="Auto" />
<Setter Property="Width" Value="Auto" />
<Setter Property="MinWidth" Value="155"/>
<Setter Property="IsTabStop" Value="False"/>
</Style>
只是好奇......还有其他人在做同样的事吗?我发现WPF标签难以使用。
答案 0 :(得分:3)
Use TextBlock
s instead of Label
s
TextBox
=可编辑的文字字段Label
=通常与表单字段绑定的不可编辑文本TextBlock
=通用不可编辑文本答案 1 :(得分:1)
我可以告诉你这一点,我们广泛使用TextBlock
和Label
在多个WPF应用程序中进行静态文本显示而没有问题。 Label
如何难以使用?也许如果列出一些具体问题,我们可以提供一些指导。
答案 2 :(得分:1)
您选择在标签上使用文本框(以特殊方式设置),这真的很奇怪。因为文本框是为不同目的而设计的...通常选择是使用TextBlock
还是Label
。
您还没有提到为什么标签很难使用...如果是因为标签具有额外的边距,那么很容易使用您应用程序中所有标签的样式进行修复。
无论如何,有一篇很好的文章介绍TextBlock
和Label
之间的区别,它描述了Label
这样的控件存在的原因:http://joshsmithonwpf.wordpress.com/2007/07/04/differences-between-label-and-textblock/