一千萬個為什麽

搜索

WPF在運行時更改矩形點

我有一個WPF應用程序,我需要在運行時以編程方式操作。

我想要做的是有一個4條線段的路徑,如下所示:

          Canvas.Left="324" 
          Canvas.Top="247">
        
            
                
                    
                    
                    
                    
                
            
        
    

現在,在我的C#代碼中,我可以這樣做:

        PathFigureCollection figures = (ThePath.Data as PathGeometry).Figures;

        Console.WriteLine("number of segments: " + figures[0].Segments.Count);

        LineSegment topLeft = figures[0].Segments[0] as LineSegment;
        LineSegment topRight = figures[0].Segments[1] as LineSegment;
        LineSegment bottomRight = figures[0].Segments[2] as LineSegment;
        LineSegment bottomLeft = figures[0].Segments[3] as LineSegment;

        topLeft.Point = new Point(topLeft.Point.X - 5, topLeft.Point.Y - 5);
        topRight.Point = new Point(topRight.Point.X + 45, topRight.Point.Y - 35);
        bottomRight.Point = new Point(bottomRight.Point.X, bottomRight.Point.Y + 35);
        bottomLeft.Point = new Point(bottomLeft.Point.X + 5, bottomLeft.Point.Y - 15);

但問題是,當我改變topLeft LineSegment時,“似乎”給段的列表添加一個點,即兩個最後點(左下角和左上角)不再加入......

我知道我缺少一些小東西,但請,任何幫助將不勝感激

謝謝,馬克

最佳答案

它確定我想出來了,我只需要在PathFigure上設置StartPoint,並將該點與線段(其中我刪除第一個線段,考慮到我添加了StartPoint)一起更改。

謝謝。

轉載註明原文: WPF在運行時更改矩形點