替代形状点的绝对定位

Abs*_*lom 7 c# wpf

我想知道在WPF中是否有一种方法可以创建一个形状(例如:多边形,直线,......)但是我们可以使用像百分比那样的绝对定位来代替形状的点.

例如,不是像这样的绝对定位线:( X1 = 0,Y1 = 50,X2 = 100,Y2 = 50),我们可以有一条像这样的百分比值(0到1)的线(X1 = 0,Y1 = 0.5,X2 = 1,Y2 = 0.5,其中1等于父母的大小).因此,无论形状的父级大小是多少,形状总是与其父级成比例.

这可以通过依赖属性来完成,但如果有一种方法可以用我描述的东西来做,我会发现它更清晰.我希望我没有错过一些非常明显的东西......

谢谢!

Jef*_*ado 4

如果通过在几何体上应用缩放变换来缩放控件的大小,则可以获得类似的效果。

<Path Width="100" Height="100" Stroke="Red">
    <Path.Data>
        <LineGeometry  StartPoint="0 0" EndPoint="1 1">
            <LineGeometry.Transform>
                <ScaleTransform ScaleX="{Binding Path=Width, RelativeSource={RelativeSource FindAncestor, AncestorType=Path}}"
                                ScaleY="{Binding Path=Height, RelativeSource={RelativeSource FindAncestor, AncestorType=Path}}" />
            </LineGeometry.Transform>
        </LineGeometry>
    </Path.Data>
</Path>
Run Code Online (Sandbox Code Playgroud)

(0, 0)这应该画一条绝对点为 的红线(100, 100)