C# WPF:应用ScaleTransform时换行文本
我想在TextWrapping=Wrap时对TextBlock应用ScaleTransform 这是我的xaml:C# WPF:应用ScaleTransform时换行文本,c#,wpf,transformation,word-wrap,C#,Wpf,Transformation,Word Wrap,我想在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
<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>
注意:使用滑块调整缩放比例,并查看缩放如何影响整个布局
链接:Microsoft说:“布局转换可能导致应用程序性能低下……”。所以,由于性能问题,我不想使用LayoutTransform,但如果我在几天内没有找到使用RenderTransform的解决方案,那么我将接受您的回答。非常感谢。