Windows应用商店应用:使用RenderTransform时,UI元素未完全呈现

时间:2014-03-20 10:35:35

标签: c# windows-store-apps transformation uielement

我想将UIElement放在另一个内部元素使用RenderTransform调整其大小的位置。问题是,内部元素没有完全呈现。只有原始适合外部元素的部分才可见。

实施例: 外部元素是一个尺寸为100 x 200像素的网格。内部元素也是尺寸为200 x 200像素的网格。如果不使用变换,则只能看到内部网格的上半部分,因为下部位于外部网格的边界之外。这并不奇怪。

如果RenderTransform以0.5比例应用于内部网格,则实际大小应为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>

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如名称中所述,“RenderTransform”适用于UIElement 呈现的方式,即如何绘制。我相信在这种情况下你要做的就是使用ViewboxViewbox分别呈现内容,然后将其缩放到给定的大小。