替代形状点的绝对定位

我想知道在WPF中是否有创建一个形状的方法(例如:多边形,直线,...),但是对于形状的点使用绝对定位,我们可以使用类似百分比的东西。

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

这可以通过依赖项属性来完成,但是如果有一种方法可以像我所描述的那样执行,我会发现它更加干净。 我希望我没有错过真正显而易见的事情......

谢谢!


如果通过对控件大小的几何图形应用比例变换来缩放比例,则可以获得类似的效果。

<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>

这应该画出绝对点(0, 0)(100, 100) (0, 0)的红线。

链接地址: http://www.djcxy.com/p/55247.html

上一篇: Alternative to absolute positioning of shapes' points

下一篇: Scala or Java Library for fixing malformed URIs