Polyline() - change colour with an array value

时间:2015-10-29 15:50:58

标签: wpf canvas ironpython polyline brushes

I'm trying to create a very simple example of a for steps in [] loop using a Polyline() inside an IronPython WPF application. Each iteration of the loop should draw a different colour however Brushes implements a set of predefined System.Windows.Media.SolidColorBrush objects. I can't work out how to swap Red for my steps variable.

def polylineShape(self):

    x = self.myCanvas.Width/2
    y = self.myCanvas.Height/2
    polyline = Polyline()
    polyline.StrokeThickness = 5


    for steps in ['Red','Blue','Green','Black']:
        x = x
        y = x            
        polyline.Points.Add(Point(x,y))
        x = x + 40
        polyline.Points.Add(Point(x,y))
        polyline.Stroke = Brushes.Red        #change colour on iteration

    self.myCanvas.Children.Add(polyline)

1 个答案:

答案 0 :(得分:0)

我创建了一个带有一些试验和错误的解决方案,我无法确定如何将颜色直接传递给Brushes类型。

def polylineShape(self):
    x = 0
    y = 0

    for steps in [Brushes.SteelBlue, Brushes.DarkOrange, Brushes.DarkSeaGreen, Brushes.Honeydew]:
        polyline = Polyline()                                           
        polyline.StrokeThickness = self.myCanvas.Height/4               
        x = 0                                                           
        y = y + self.myCanvas.Height/4                                  
        polyline.Points.Add(Point(x,y))                                 

        x = self.myCanvas.Width                                         
        polyline.Points.Add(Point(x,y))                                 

        polyline.Stroke = steps                                         

        self.myCanvas.Children.Add(polyline)