WPF:应用 ScaleTransform 时换行文本
WPF : Wrap text while ScaleTransform is applied
我想在 TextWrapping=Wrap 时对 TextBlock 应用 ScaleTransform。
这是我的 xaml:
<Grid>
<Border ClipToBounds="True" Background="Beige" Width="200" Height="200">
<TextBlock TextWrapping="Wrap" FontSize="20" Text="AB CD EF GH IG KL MN OP QR ST UV WX YZ">
<TextBlock.RenderTransform>
<ScaleTransform ScaleX="1" />
</TextBlock.RenderTransform>
</TextBlock>
</Border>
</Grid>
ScaleX=1时有效,ScaleX>1时无效
请看这些图片:
我需要 ScaleTransform 和 TextWrapping ,我该怎么做?
您可以尝试 LayoutTransform
而不是 RenderTransform
。使用以下代码片段来尝试一下:
<Grid>
<DockPanel LastChildFill="True">
<Slider x:Name="Scale" DockPanel.Dock="Bottom" Minimum="1" Maximum="20"/>
<Border ClipToBounds="True" Background="Beige" Width="200" Height="200">
<TextBlock TextWrapping="Wrap" FontSize="20" Text="AB CD EF GH IG KL MN OP QR ST UV WX YZ">
<TextBlock.LayoutTransform>
<ScaleTransform ScaleX="{Binding ElementName=Scale, Path=Value}" ScaleY="{Binding ElementName=Scale, Path=Value}"/>
</TextBlock.LayoutTransform>
</TextBlock>
</Border>
</DockPanel>
</Grid>
P.S。使用滑块调整缩放并查看缩放如何影响整个布局
链接:MSDN
我想在 TextWrapping=Wrap 时对 TextBlock 应用 ScaleTransform。
这是我的 xaml:
<Grid>
<Border ClipToBounds="True" Background="Beige" Width="200" Height="200">
<TextBlock TextWrapping="Wrap" FontSize="20" Text="AB CD EF GH IG KL MN OP QR ST UV WX YZ">
<TextBlock.RenderTransform>
<ScaleTransform ScaleX="1" />
</TextBlock.RenderTransform>
</TextBlock>
</Border>
</Grid>
ScaleX=1时有效,ScaleX>1时无效
请看这些图片:
我需要 ScaleTransform 和 TextWrapping ,我该怎么做?
您可以尝试 LayoutTransform
而不是 RenderTransform
。使用以下代码片段来尝试一下:
<Grid>
<DockPanel LastChildFill="True">
<Slider x:Name="Scale" DockPanel.Dock="Bottom" Minimum="1" Maximum="20"/>
<Border ClipToBounds="True" Background="Beige" Width="200" Height="200">
<TextBlock TextWrapping="Wrap" FontSize="20" Text="AB CD EF GH IG KL MN OP QR ST UV WX YZ">
<TextBlock.LayoutTransform>
<ScaleTransform ScaleX="{Binding ElementName=Scale, Path=Value}" ScaleY="{Binding ElementName=Scale, Path=Value}"/>
</TextBlock.LayoutTransform>
</TextBlock>
</Border>
</DockPanel>
</Grid>
P.S。使用滑块调整缩放并查看缩放如何影响整个布局
链接:MSDN