我的内容演示者满足于与模板化父级的形状绑定。当形状是椭圆形时,内容呈现器显示椭圆,但是当我将“形状”更改为路径并将数据属性设置为椭圆形几何体时,不显示任何内容,我设置笔划并填充与椭圆形状相同的内容。以下是我构建路径的方法:
Shape = new Path();
Shape.Data = new EllipseGeometry();
Shape.Fill = Brushes.Transparent;
Shape.Stroke = Brushes.CadetBlue;
然而,当我用它替换它时它确实有效(假设Shape是Ellipse类型):
Shape = new Ellipse();
Shape.Fill = Brushes.Transparent;
Shape.Stroke = Brushes.CadetBlue;
我之所以要使用带有几何体的路径作为数据,是因为我想在形状上测试交集,但我不知道如何获取形状对象的几何形状,其中就像形状一样是Path
类型我可以测试Shape.Data。
任何帮助都将不胜感激。
答案 0 :(得分:0)
EllipseGeometry
与Ellipse
形状的行为略有不同。其维度由其RadiusX
和RadiusY
属性定义,默认情况下为0
,因此不会绘制任何内容。您可以按如下方式设置:
Shape.Data = new EllipseGeometry { RadiusX = 1.0, RadiusY = 1.0 };
但是,这仍然可能不会显示为Ellipse
。 Ellipse
属性的Stretch.Fill
默认为Stretch
,但Path
有Stretch.None
。如果你改变它,它们看起来应该是一样的:
Shape.Stretch = Stretch.Fill;
您可以使用Path
和EllipseGeometry
的其他属性来调整大小,定位并正确定位。