【问题标题】:Text in label being cut off标签中的文本被截断
【发布时间】:2019-03-24 07:33:58
【问题描述】:

考虑下面的 WPF -

问题是出现在标签中的文本如果长于标签的宽度,则会被截断。

XAML - 标签名称是 'factTxt'

<Window x:Name="mainScreen" x:Class="FactsOnAll.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:FactsOnAll"
        mc:Ignorable="d"
        Title="Random Facts" Height="450" Width="800" Icon="Properties/checklist.png">
    <Grid>
        <Button x:Name="getFactBtn" Content="Get Random Fact" HorizontalAlignment="Left" Margin="304,331,0,0" VerticalAlignment="Top" Width="177" Click="getFactBtn_Click" FontSize="20" Background="#FF8ECF87" Foreground="#FF444444"/>
        <Label x:Name="factTxt" Content="" Margin="10,98,10,0" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="20"/>
        <Label x:Name="titleTxt" Content="Random Facts" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="772" Height="46" FontSize="24"/>

    </Grid>
</Window>

预期结果

允许文本换行。我认为增加标签的高度可以解决这个问题,但没有运气。

【问题讨论】:

  • A Label 并不意味着显示多行文本。您是否尝试过使用Textblock? (别忘了设置PropertyTextWrapping="Wrap"
  • @LittleBit,刚刚切换到文本块,当前问题已修复。试图弄清楚如何在文本块中居中文本?我第一次使用 WPF 从 Windows 窗体切换。属性中的水平和垂直对齐无效。
  • 您在寻找TextAlignment="Center" 属性吗?

标签: c# wpf


【解决方案1】:

标签没有包装,只有一个文本块。 您可以创建自定义内容,例如自动换行:

<Label Width="100">
  <TextBlock Text="Get Random Fact" TextWrapping="Wrap"/>
</Label>

【讨论】:

  • 这成功了。如何使文本块中的文本居中?属性中的水平和垂直对齐无效。
  • 使用HorizontalContentAlignment=Center
  • Horizo​​ntalContentAlignment 使 TextBlock 在 Label 中居中。对于文本对齐使用TextAlignment="Center"
猜你喜欢
  • 2020-08-24
  • 1970-01-01
  • 2018-04-20
  • 2021-11-18
  • 1970-01-01
  • 2016-12-04
  • 2017-08-31
  • 2017-12-24
  • 2015-05-14
相关资源
最近更新 更多