如果字符串在XAML中太长,则自动在标签中下一行

时间:2016-01-21 10:36:09

标签: c# wpf xaml data-binding

我有一个贴在某物上的标签。如果字符串太长,我希望标签在宽度和高度上扩展,以便它适合屏幕。

我有这个:

<StackPanel Orientation="Horizontal" Margin="0,0,0,200" Height="50" Width="900">
     <Label HorizontalContentAlignment="Left" VerticalAlignment="Center" Padding="5" FontSize="24" Content="Instruction: " Width="290" />
     <TextBlock HorizontalAlignment="Center" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="25" Text="{Binding InstructionLabel}" Width="auto" Height="auto"  />
</StackPanel>

请注意,我尝试使用TextBlock而不是Label。这并不困难,所以我尝试了:

<Label HorizontalAlignment="Center" VerticalAlignment="Top" FontSize="25"  Width="auto" Height="auto">
      <AccessText TextWrapping="WrapWithOverflow" Text="{Binding InstructionLabel}"/>
</Label>

但这也不起作用。

View现在是这样的:

enter image description here

1 个答案:

答案 0 :(得分:7)

只需提供TextBlock的 MaxWidth

   <StackPanel Orientation="Horizontal" Margin="0,0,0,200" Height="50" Width="900">
       <Label HorizontalContentAlignment="Left" VerticalAlignment="Center" Padding="5" FontSize="24" Content="Instruction: " Width="290" />
      <TextBlock HorizontalAlignment="Center" TextWrapping="Wrap" MaxWidth="100" VerticalAlignment="Top" FontSize="25" Text="{Binding InstructionLabel}" Width="auto" Height="auto"  />
</StackPanel>

然后你的textwrapping将起作用。