![](/img/trans.png)
[英]Crop and save image (UIElement) in Windows Store App using c# with
[英]Windows Store app: UIElement not rendered completly when using RenderTransform
我想将UIElement放在另一个内部元素使用内部RenderTransform调整其大小的地方。 问题是内部元素无法完全呈现。 仅可见原始装配到外部元素中的零件。
示例:外部元素是大小为100 x 200像素的网格。 内部元素也是一个大小为200 x 200像素的网格。 如果不使用变换,则仅内部网格的上半部分可见,因为下部位于外部网格的边界之外。 这不足为奇。
如果将RenderTransform以0.5比例应用于内部Grid,则实际大小应为100 x 100像素。 但是只有100 x 50像素的上半部分是黎明。 看起来下部被忽略了,因为在应用转换之前它不可见。 这没有什么意义:当我使用转换来缩放较大的元素以适合较小的元素时,我希望完整的元素可见。
<Grid Background="Green" Width="200" Height="100">
<Grid Background="Yellow" Width="200" Height="200">
<Grid.RenderTransform>
<CompositeTransform ScaleX="0.5" ScaleY="0.5"/>
</Grid.RenderTransform>
</Grid>
</Grid>
如何解决呢?
顾名思义,“ RenderTransform
”适用于UIElement
的呈现方式 ,即其绘制方式。 我相信在这种情况下,您必须使用Viewbox
。 Viewbox
渲染内容,然后将其缩放到给定的大小。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.