是否可以更改WPF元素的边界?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以更改WPF元素的边界?相关的知识,希望对你有一定的参考价值。
我正在动态创建Path
,并且我注意到形状的边界Rect
远大于路径本身,如下面的图片波纹所示。
是否有可能改变这些界限?不幸的是,PathGeometry.Bounds
属性是只读的。
ps:如果有帮助,我对缩小范围很感兴趣,因此可以将路径的RenderTransformOrigin
设置为new Point(0.5,0.5)
,以围绕该路径旋转(RotateTransform
)该路径。
PathFigure的创建
我定义4个点,然后创建三个LineSegment
和ArcSegment
。我创建了一个Circle
结构,用作计算这些点的指导。
private PathFigure CreateFigure()
{
var lineAB = new LineSegment(pointB, true);
var arcBC = new ArcSegment(pointC, new Size(_outerCircle.Radius, _outerCircle.Radius), 0, false, SweepDirection.Clockwise, true);
var lineCD = new LineSegment(pointD, true);
return new PathFigure(pointA, new List<PathSegment> { lineAB, arcBC, lineCD }, true);
}
答案
由于无法在定义边界后更改边界,因此将Path
作为子项添加到Grid
或Border
并设置Path.Stretch="Fill"
会强制边界在路径期间由路径填充布局通行证。
以上是关于是否可以更改WPF元素的边界?的主要内容,如果未能解决你的问题,请参考以下文章