gpt4 book ai didi

无需拉伸(stretch)笔即可拉伸(stretch)的 WPF 绘图

转载 作者:行者123 更新时间:2023-12-04 14:07:37 26 4
gpt4 key购买 nike

我需要在边框控件(或类似控件)中绘制一些简单的线条,这些线条始终延伸到边框的边界。有没有办法只拉伸(stretch)线条而不是它的笔?不涉及大量 C#?

在这个版本中,线条延伸:

<Border>
<Border.Background>
<DrawingBrush>
<DrawingBrush.Drawing>
<DrawingGroup>
<GeometryDrawing Brush="Red">
<GeometryDrawing.Geometry>
<GeometryGroup>
<RectangleGeometry Rect="0,0 100,1000" />
<LineGeometry StartPoint="0,0" EndPoint="100,1000"/>
<LineGeometry StartPoint="100,0" EndPoint="0,1000"/>
</GeometryGroup>
</GeometryDrawing.Geometry>
<GeometryDrawing.Pen>
<Pen Thickness="20" Brush="Black"/>
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
</Border.Background>
</Border>

我想出的最佳解决方案是:
<Border>
<Grid>
<Path Stretch="Fill" Fill="Red" Stroke="Black" StrokeThickness="4" Data="M0,0 L100,0 100,1000 0,1000 z" />
<Path Stretch="Fill" Stroke="Black" StrokeThickness="4" Data="M 0,0 L0,0 100,1000" />
<Path Stretch="Fill" Stroke="Black" StrokeThickness="4" Data="M 100,0 L100,0 0,1000" />
</Grid>
</Border>

但是没有更好的解决方案吗?这不涉及额外的网格?

最佳答案

我通过缩放路径的数据而不是可视组件来做到这一点。

  • 在 Canvas 中放置路径。
  • 将 path.Data 设置为 Geometry,将您的数据表示为逻辑范围的百分比。
  • 将 path.Data.Transform 设置为 ScaleTransform,ScaleX 和 ScaleY 绑定(bind)到实际宽度和高度。
  • 关于无需拉伸(stretch)笔即可拉伸(stretch)的 WPF 绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1337549/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com