调整形状对象的大小

时间:2009-05-11 06:52:35

标签: .net wpf xaml

在这个问题中,我谈到了一个星形: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时,星星的大小与调整大小之前的大小相同。 这样做的最佳方法是什么,所以调整大小并确保明星不会占用太多空间?

1 个答案:

答案 0 :(得分:2)

而不是做

<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