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