WPF/Path - 几行由不同行宽的多行组成?

And*_*uul 1 wpf path pathgeometry

我需要用不同颜色,厚度等的线条绘制相同的图纸.

我可以创建两个PathGeometry实例,但我不能在它们上设置颜色.

我可以创建两个Path实例,但无法在控件中显示它们.

我究竟做错了什么?

谢谢你的评论!

丹麦安德斯.

下面的代码只在我的控件中显示"集合",但我认为这可能是答案的起点......

        var pathFigure1 = new PathFigure(new Point(0, 0),
                                         new List<PathSegment> {new LineSegment(new Point(10, 10), true)}, false);
        var pathFigure2 = new PathFigure(new Point(20, 20),
                                         new List<PathSegment> {new LineSegment(new Point(30, 30), true)}, false);


        var g1 = new PathGeometry(new List<PathFigure> {pathFigure1});
        var g2 = new PathGeometry(new List<PathFigure> {pathFigure2});

        var p1 = new System.Windows.Shapes.Path
                     {
                         Data = g1,
                         Stroke = new SolidColorBrush(Color.FromRgb(0, 0, 0))
                     };
        var p2 = new System.Windows.Shapes.Path
                     {
                         Data = g2,
                         Stroke = new SolidColorBrush(Color.FromRgb(170, 87, 170))
                     };

        var content = new Canvas();
        content.Children.Add(p1);
        content.Children.Add(p2);

        Content = content;
Run Code Online (Sandbox Code Playgroud)

Col*_*inE 5

你已经开始采用正确的方法,几何定义了一个'形状',所以不要担心你不能设置它的颜色.路径将几何图形转换为屏幕上的可视化表示,因此您可以在此处设置颜色和笔触粗细.

您的问题是在最后一步,您正在设置控件的content属性.通常,此属性用于将某些数据对象与控件关联,然后提供一个可视化表示的模板.

您需要做的是将您的路径添加为面板的子项.

例如,向控件添加Canvas或Grid.然后通过Children集合属性将两个路径添加到Grid/Canvas.