如何在 WPF 中缩小 UIElement 并查看窗外的原创内容?



我有一个比它需要的位置大的元素。但是当我使用renderTransform缩放它时,元素原来隐藏的部分,保持隐藏。

<Window x:Class="Test.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Rectangle Fill="Orange" Stroke="Black" StrokeThickness="5" Width="600" Height="500" Margin="20" HorizontalAlignment="Left">
<Rectangle.RenderTransform>
<ScaleTransform ScaleX="0.5" ScaleY="0.5"/>
</Rectangle.RenderTransform>
</Rectangle>
</Grid>

如何实现缩放并获得所有的UIElement ?

说明您在评论中收到的解决方案的示例是:如果你有一个里面有文字的彩色矩形然后旋转90°:

  • 使用LayoutTransform,你会得到矩形旋转,里面的文本看起来正常,因为转换是在计算内容
  • 之前应用的
  • 使用RenderTransform,你会得到矩形旋转,里面的文本也旋转,因为矩形和文本会在旋转之前生成。

对于您的示例,它给出:

  • 使用LayoutTransform,您可以缩放区域,然后计算其可能的内容
  • 使用RenderTransform,你计算内容,然后缩放面积和它的内容。

相关内容

  • 没有找到相关文章

最新更新