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

Mir*_*ais 4 c# data-binding wpf xaml

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

我有这个:

<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>
Run Code Online (Sandbox Code Playgroud)

请注意,我尝试使用TextBlock而不是Label.这不是很难,所以我试过:

<Label HorizontalAlignment="Center" VerticalAlignment="Top" FontSize="25"  Width="auto" Height="auto">
      <AccessText TextWrapping="WrapWithOverflow" Text="{Binding InstructionLabel}"/>
</Label>
Run Code Online (Sandbox Code Playgroud)

但这也不起作用.

View现在是这样的:

在此输入图像描述

Kyl*_*Ren 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>
Run Code Online (Sandbox Code Playgroud)

然后你的textwrapping将工作.