我想知道字符串的长度是否大于label
的宽度,那么如何调整新行中的字符串?应用于标签的字符串是动态的。
我尝试过使用Viewbox
,但该选项无效。有人有想法吗?
答案 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";