0
我有一个基于一组矩形/椭圆几何的路径。当我在它周围放置一个自动调整大小的边框时,边框会缩小以适应RectangleGeometry,但会使用EllipseGeometry做一些奇怪的事情,如下所示。任何人都知道如何解决它,所以边界(蓝色显示)适合整个事情?最终,我想要一个适合任意运行时生成的路径(包括笔划厚度)的边框或面板,并且我需要维护的几何尺寸。围绕任意路径拟合边框
示例代码:
<Border BorderBrush="Blue" BorderThickness="2"
HorizontalAlignment="Center" VerticalAlignment="Center">
<Path Stroke="Orange" StrokeThickness="5" Fill="Red">
<Path.Data>
<GeometryGroup>
<EllipseGeometry Center="-10,-10" RadiusX="12" RadiusY="12" />
<EllipseGeometry Center="70,0" RadiusX="70" RadiusY="10">
<EllipseGeometry.Transform>
<RotateTransform Angle="-25" CenterX="50" CenterY="0" />
</EllipseGeometry.Transform>
</EllipseGeometry>
<RectangleGeometry Rect="0,0,100,100" />
</GeometryGroup>
</Path.Data>
</Path>
</Border>
为了在运行时生成规模,您可以使用'Width =“{Binding Bounds.Width,ElementName = geoGroup}''进一步扩展它。 – Funk
对不起,是的,我应该提到我需要几何体保持其定义的大小。 Funk,有没有办法让这项工作包括笔画厚度?它仍然按比例缩小以适应笔画输入。 – Vimes
@JVimes您可以使用绑定转换器将宽度值添加到固定值,或者在您还传递StrokeThickness的情况下使用MultiBinding,或使用[GetWidenedPathGeometry](https: //msdn.microsoft.com/en-us/library/ms615692(v=vs.110).aspx)来计算确切的边界。 – Clemens