WPF GradientBrush?

Jas*_*wal 3 c# wpf wpf-controls

可以使用多种类型的渐变画笔,如LinearGradientBrush,SolidColorBrush?当我们创建一个GradientStop时,偏移量如何工作?

        LinearGradientBrush LGB = new LinearGradientBrush();
        LGB.StartPoint = new Point(0, 0);
        LGB.EndPoint = new Point(0, 1);
        LGB.GradientStops.Add(new GradientStop(Color.FromRgb(255,251,255) , 0));
        LGB.GradientStops.Add(new GradientStop(Color.FromRgb(206,207,222), 1));
        LGB.GradientStops.Add(new GradientStop(Color.FromRgb(0, 247, 0), 2));
        rect.Fill = LGB;
Run Code Online (Sandbox Code Playgroud)

为什么第三个"Color.FromRgb(0,247,0)"没有反映?

请建议,我哪里错了?

Mat*_*ton 5

所述GradientStop.Offset属性是取值范围从0.0到1.0的值.从MSDN文档:

值0.0指定停靠点位于渐变矢量的开头,而值1.0指定停靠点位于渐变矢量的末尾.

将第二站的偏移量更改为0.5,将第三站的偏移量更改为1.0,它应该可以正常工作.