WPF:其他人使用文本框而不是标签?

时间:2011-02-16 16:21:22

标签: wpf textbox label

我只是好奇.. 在我的应用程序中,我使用“只读和无边框”文本框而不是使用标签。文本框基于我在资源文件中保存的样式:

 <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标签难以使用。

3 个答案:

答案 0 :(得分:3)

Use TextBlocks instead of Labels

  • TextBox =可编辑的文字字段
  • Label =通常与表单字段绑定的不可编辑文本
  • TextBlock =通用不可编辑文本

答案 1 :(得分:1)

我可以告诉你这一点,我们广泛使用TextBlockLabel在多个WPF应用程序中进行静态文本显示而没有问题。 Label如何难以使用?也许如果列出一些具体问题,我们可以提供一些指导。

答案 2 :(得分:1)

您选择在标签上使用文本框(以特殊方式设置),这真的很奇怪。因为文本框是为不同目的而设计的...通常选择是使用TextBlock还是Label

您还没有提到为什么标签很难使用...如果是因为标签具有额外的边距,那么很容易使用您应用程序中所有标签的样式进行修复。

无论如何,有一篇很好的文章介绍TextBlockLabel之间的区别,它描述了Label这样的控件存在的原因:http://joshsmithonwpf.wordpress.com/2007/07/04/differences-between-label-and-textblock/