Silverlight标签中的新行

时间:2014-02-14 11:19:58

标签: c# silverlight-5.0

我想知道字符串的长度是否大于label的宽度,那么如何调整新行中的字符串?应用于标签的字符串是动态的。

我尝试过使用Viewbox,但该选项无效。有人有想法吗?

3 个答案:

答案 0 :(得分:1)

TextWrapping="Wrap"应用于TextBlock

那些类似的东西可能会起作用吗?

<Label Target="{Binding ElementName="desiredElement">
   <TextBlock TextWrapping="Wrap"  Text="{Binding YourString}"/>
</Label>

我发现Label并不是非常有用,如果不能解决这个问题,那么使用适当的绑定替换Label和TextBlock要容易得多,而不是模仿它上面的这个缺失行为。

答案 1 :(得分:0)

将值换行设置为TextWrapping。 以下是为文本块执行此操作的示例代码:

<TextBlock 
Name="textBlock"

Background="AntiqueWhite" 
Foreground="Navy" 

FontFamily="Century Gothic"
FontSize="12"
FontStretch="UltraExpanded"
FontStyle="Italic"
FontWeight="UltraBold"

LineHeight="Auto"
Padding="5,10,5,10"
TextAlignment="Center"
TextWrapping="Wrap"

Typography.NumeralStyle="OldStyle"
Typography.SlashedZero="True"
>
<Run Background="LightGreen">Text run 1.</Run>
<LineBreak/><Run Background="LightBlue">Text run 2.</Run>
<LineBreak/><Run Background="LightYellow">Text run 3.</Run>
</TextBlock>

答案 2 :(得分:0)

我在WPF应用程序上试用过,所以这应该适用于silverlight

XAML

<Label Content="{Binding labelname}">

属性

  private string _labelname;
   public string labelname
   {
       get
       {
           return _labelname;
       }
       set
       {
           _labelname = value;
           OnPropertyChanged("labelname");
       }
   }

将值分配给像此一样绑定的属性

labelname = "stack" + Environment.NewLine + "overflow";