加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 替代形状点的绝对定位

发布时间:2020-12-15 07:55:13 所属栏目:百科 来源:网络整理
导读:我想知道在 WPF中是否有一种方法可以创建一个形状(例如:多边形,直线,…),但不是使用绝对定位形状的点,我们可以使用像百分比这样的东西. 例如,不是像这样的绝对定位线:(X1 = 0,Y1 = 50,X2 = 100,Y2 = 50),我们可以有一条像这样的百分比值(0到1)的线(X1 = 0,
我想知道在 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,AncestorType=Path}}" />
            </LineGeometry.Transform>
        </LineGeometry>
    </Path.Data>
</Path>

这应绘制一条带有绝对点(0,0)到(100,100)的红线.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读