我如何在我的xaml项目中用c#绘制画布

本文关键字:绘制 项目 我的 xaml | 更新日期: 2023-09-27 18:07:52

我目前有以下代码:

Path path = new Path();
path.Fill = new RadialGradientBrush(Colors.White, Colors.Transparent)
{
    GradientOrigin = new Point(.5, .5),
    Center = new Point(.5, .5),
    RadiusX = 1.5,
    RadiusY = 1.5
};
PathGeometry geo = new PathGeometry();
PathFigure figure = new PathFigure();
figure.IsClosed = true;
figure.StartPoint = new Point(10, 10);
figure.Segments.Add(new LineSegment()
{
    Point = new Point(20, 20)
});
figure.Segments.Add(new LineSegment()
{
    Point = new Point(30, 10)
});
geo.Figures.Add(figure);
path.Data = geo;
Canvas.Children.Add(path);

但是有什么问题吗?什么也没有。我希望一个黑色的三角形,用白色的中心渐变刷到它的大小限制。

有人知道吗?

我如何在我的xaml项目中用c#绘制画布

试试这个:

path.Fill = new RadialGradientBrush(Colors.Black, Colors.Transparent)
{
    GradientOrigin = new Point(.5, .5),
    Center = new Point(.5, .5),
    RadiusX = 1.5,
    RadiusY = 1.5
};

还有一点:您的代码工作得很好。问题一定出在你的最后一行。Canvas是你的画布的名字吗?Canvas是类型,但这里你把它当作变量。

你应该设置路径的Stroke,否则三角形将不会有任何黑色部分:

path.Stroke = new SolidColorBrush(Colors.Black);