【问题标题】:Path does not get displayed路径不显示
【发布时间】:2012-01-07 07:06:26
【问题描述】:

我有内容演示者,其内容绑定到模板父级的形状。当形状是椭圆时,内容呈现器显示椭圆,但是当我将形状更改为路径并将数据属性设置为椭圆几何时,什么都不会显示,我将笔触和填充设置为与椭圆形状相同。这是我构建路径的方式:

        Shape = new Path();
        Shape.Data = new EllipseGeometry();
        Shape.Fill = Brushes.Transparent;
        Shape.Stroke = Brushes.CadetBlue;

但是当我用它替换它时它确实有效(假设 Shape 是椭圆类型):

        Shape = new Ellipse();
        Shape.Fill = Brushes.Transparent;
        Shape.Stroke = Brushes.CadetBlue;

之所以要使用带有几何形状的路径作为数据,是因为我想测试形状上的交集,但我不知道如何获取形状对象的几何形状,好像形状属于Path 类型,我可以针对 Shape.Data 进行测试。

任何帮助将不胜感激。

【问题讨论】:

  • 您可以尝试 Geometry.Parse("values in points") 并将返回值分配给 Shape.Data

标签: wpf path geometry shape


【解决方案1】:

EllipseGeometry 的行为与 Ellipse 形状略有不同。它的尺寸由其RadiusXRadiusY 属性定义,默认为0,因此不会绘制任何内容。您可以按如下方式设置:

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

但是,这仍然可能不会像您的 Ellipse 那样显示。 EllipseStretch 属性也默认为Stretch.Fill,但Path 具有Stretch.None。如果你改变它,它们应该看起来一样:

Shape.Stretch = Stretch.Fill;

您可以使用PathEllipseGeometry 的其他属性来正确调整大小、方向和定位。

【讨论】:

    猜你喜欢
    • 2015-05-10
    • 2014-02-28
    • 1970-01-01
    • 2020-03-02
    • 2019-09-19
    • 2014-10-02
    • 2023-01-18
    • 2017-02-18
    • 2015-08-20
    相关资源
    最近更新 更多