如何在XAML中执行Path.Data.Transform?

时间:2015-10-29 05:06:49

标签: c# wpf xaml

我在后面的代码中创建了一个路径对象并对其进行了缩放。 PFB代码。

path.Stroke = Brushes.Black;
path.Stroke = Brushes.Black;
path.StrokeThickness = 1;`
path.Data.Transform = new ScaleTransform(0.5,0.5);

如何在XAML中做同样的事情?

2 个答案:

答案 0 :(得分:3)

在XAML中的路径Transform中设置几何的Data属性如下所示。与路径RenderTransform相反,Geometry.Transform属性仅转换几何图形,但不会转换任何视觉方面,例如StrokeThickness。

<Path Stroke="Black" StrokeThickness="1">
    <Path.Data>
        <PathGeometry>
            <PathGeometry.Figures>
                M 0,10 L10,0 20,10 10,20Z
            </PathGeometry.Figures>
            <PathGeometry.Transform>
                <ScaleTransform ScaleX="0.5" ScaleY="0.5"/>
            </PathGeometry.Transform>
        </PathGeometry>
    </Path.Data>
</Path>

答案 1 :(得分:2)

<强>更新

你可以写这样的东西。

<Window.Resources>
    <ScaleTransform ScaleX="0.5" ScaleY="0.5" x:Key="testTransform" />
</Window.Resources>

<Path Stroke="Black" StrokeThickness="1">
    <Path.Data>
        <PathGeometry Transform="{StaticResource testTransform}">
            <PathFigure StartPoint="10,50">
                <LineSegment Point="200,70" />
            </PathFigure>
        </PathGeometry>
    </Path.Data>
</Path>