【问题标题】:Resize a shape object调整形状对象的大小
【发布时间】:2009-05-11 06:52:35
【问题描述】:

在这个问题中,我谈论的是星形:Reuse path object in XAML)

<Path x:Name="NiceStar" StrokeThickness="10" Stroke="#ff000000" StrokeMiterLimit="1" Data="F1 M 126.578613,11.297852 L 162.373535,83.825684 L 242.412598,95.456055 L 184.495605,151.911133 L 198.167480,231.626953 L 126.578613,193.990234 L 54.988770,231.626953 L 68.661621,151.911133 L 10.744629,95.456055 L 90.783691,83.825684 L 126.578613,11.297852 Z">
    <Path.Fill>
        <RadialGradientBrush MappingMode="Absolute" GradientOrigin="390.395508,448.130371" Center="390.395508,448.130371" RadiusX="113.034821" RadiusY="113.034821">
            <RadialGradientBrush.Transform>
                <MatrixTransform Matrix="1,0,-0,-1,-263.816895,569.592773" />
            </RadialGradientBrush.Transform>
            <GradientStop Offset="0" Color="#ff00ff00"/>
            <GradientStop Offset="1" Color="#ff006736"/>
        </RadialGradientBrush>
    </Path.Fill>
</Path>

现在我想将这颗星调整为非常小的尺寸并将其放置在网格中。当我为此使用 ScaleTransform 时,星星的大小与调整大小之前一样大。 这样做的最佳方法是什么,调整大小并确保星星不会占用太多空间?

【问题讨论】:

    标签: .net wpf xaml


    【解决方案1】:

    而不是做

    <Path.RenderTransform>
       <ScaleTransform ScaleX="0.1" ScaleY="0.1"></ScaleTransform>
    </Path.RenderTransform>
    

    试试

    <Path.LayoutTransform>
       <ScaleTransform ScaleX="0.1" ScaleY="0.1"></ScaleTransform>
    </Path.LayoutTransform>
    

    LayoutTransform 在布局传递之前应用变换。

    HTH

    【讨论】:

      猜你喜欢
      • 2014-12-02
      • 2017-03-09
      • 2011-09-16
      • 1970-01-01
      • 1970-01-01
      • 2011-12-01
      • 1970-01-01
      • 2016-04-13
      • 2021-04-27
      相关资源
      最近更新 更多