C# Silverlight的新线';s标签

C# Silverlight的新线';s标签,c#,silverlight-5.0,C#,Silverlight 5.0,我想知道,若字符串的长度大于标签的宽度,那个么如何调整新行中的字符串?应用于标签的字符串是动态的 我尝试过使用Viewbox,但该选项不起作用。有人有想法吗?将TextWrapping=“Wrap”应用到TextBlock 好的,像这样的事情可能行吗 <Label Target="{Binding ElementName="desiredElement"> <TextBlock TextWrapping="Wrap" Text="{Binding YourString}

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

我尝试过使用
Viewbox
,但该选项不起作用。有人有想法吗?

TextWrapping=“Wrap”
应用到TextBlock

好的,像这样的事情可能行吗

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

将值wrap设置为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>

文本运行1。
文本运行2。
文本运行3。

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

XAML

将值指定给像这样绑定的属性

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

没有
TextWrapping
属性。那么,请改用TextBlock。使用Label有什么特别的原因吗?@ValentinKuzub我正在打印我正在使用Label的身份证。@Prashant16请详细说明?@ValentinKuzub我使用silverlight创建了身份证设计,在标签中我必须显示员工的地址。我在问题中已经提到字符串是动态的。就我个人而言,我抛弃了所有标签,除非有特定用途,因为它们继承自contentcontrol,而TextBlock直接来自FrameworkElement,所以只需使用TextBlock就可以去除一些无用的脂肪,并且在这种情况下还可以直接访问TextWrapping。
  private string _labelname;
   public string labelname
   {
       get
       {
           return _labelname;
       }
       set
       {
           _labelname = value;
           OnPropertyChanged("labelname");
       }
   }
labelname = "stack" + Environment.NewLine + "overflow";