【问题标题】:Windows Store app: UIElement not rendered completly when using RenderTransformWindows 应用商店应用程序:使用 RenderTransform 时 UIElement 未完全呈现
【发布时间】:2014-03-20 10:35:34
【问题描述】:

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

示例: 外部元素是一个大小为 100 x 200 像素的网格。内部元素也是一个大小为 200 x 200 像素的 Grid。如果不使用变换,则只有内网格的上半部分可见,因为下半部分位于外网格的边界之外。这并不奇怪。

如果将 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>

如何解决?

【问题讨论】:

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


    【解决方案1】:

    正如名称中所述,“RenderTransform”适用于UIElement 如何渲染,即它是如何绘制的。我相信在这种情况下你必须做的是使用ViewboxViewbox 单独渲染内容,然后将其缩放到给定的大小。

    【讨论】:

      猜你喜欢
      • 2012-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多