路径未显示

时间:2012-01-07 07:06:27

标签: wpf path geometry shape

我的内容演示者满足于与模板化父级的形状绑定。当形状是椭圆形时,内容呈现器显示椭圆,但是当我将“形状”更改为路径并将数据属性设置为椭圆形几何体时,不显示任何内容,我设置笔划并填充与椭圆形状相同的内容。以下是我构建路径的方法:

        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。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

EllipseGeometryEllipse形状的行为略有不同。其维度由其RadiusXRadiusY属性定义,默认情况下为0,因此不会绘制任何内容。您可以按如下方式设置:

Shape.Data = new EllipseGeometry { RadiusX = 1.0, RadiusY = 1.0 };

但是,这仍然可能不会显示为EllipseEllipse属性的Stretch.Fill默认为Stretch,但PathStretch.None。如果你改变它,它们看起来应该是一样的:

Shape.Stretch = Stretch.Fill;

您可以使用PathEllipseGeometry的其他属性来调整大小,定位并正确定位。