2

这是交易:我有这行 XAML

<Viewbox Canvas.Left="27" Canvas.Top="479" Width="377" Height="21" Stretch="Fill" 
       StretchDirection="DownOnly" VerticalAlignment="Top" HorizontalAlignment="Left">
  <TextBlock Name="TitleText" TextWrapping="Wrap" TextAlignment="Left" FontSize="14" 
           FontStretch="Normal"  FontStyle="Normal" Foreground="White" Width="377" >some long text here
  </TextBlock>
</Viewbox>

我希望字体缩小以适应内容的高度和宽度。现在发生的情况是字体缩小了,但 Viewbox 也会水平缩放内容,使文本框的宽度变小。这是一个例子

示例图片

如果我设置 Stretch="Fill" 文本将填充宽度,但仅在高度上缩小字体大小,使字体看起来非常难看Like this

是否可以缩小文本以适合框架内,以便使用容器的整个宽度和高度?

4

3 回答 3

1

您不能将视图框的 StretchDirection 属性设置为“DownOnly”。此设置会导致内容仅垂直拉伸。

于 2013-09-05T15:15:20.860 回答
0

这里有一个使用第二个 ViewBox 的可能解决方案:

<Viewbox Canvas.Left="27" Canvas.Top="479" Width="377" Height="21" Stretch="Fill" 
        StretchDirection="DownOnly" VerticalAlignment="Top" HorizontalAlignment="Left">
   <Viewbox Stretch="Fill" Width="Auto" Height="Auto">
       <TextBlock Name="TitleText" TextWrapping="Wrap" TextAlignment="Left" FontSize="14" 
            FontStretch="Normal"  FontStyle="Normal" Foreground="White" Width="377" >some long  text here
       </TextBlock>
   </Viewbox>
 </Viewbox>
于 2014-01-04T19:43:55.700 回答
0

这是你想要的吗?

<Viewbox Stretch="Uniform">
    <TextBlock Name="TitleText" TextWrapping="Wrap" TextAlignment="Left" FontSize="14" 
       FontStretch="Normal"  FontStyle="Normal" Foreground="White" Width="377">
       some long text here
    </TextBlock>
</Viewbox>
于 2013-09-05T15:35:41.297 回答