我在画布上有一些省略号。我希望当我在椭圆上方单击时,它应该将笔划的颜色更改为绿色,如果我再次单击它,它就会变回原来的红色。
我用过这三种颜色。
SolidColorBrush red = new SolidColorBrush(Colors.Red);
SolidColorBrush green = new SolidColorBrush(Colors.Green);
SolidColorBrush transp = new SolidColorBrush(Colors.Transparent);
当我创建椭圆时,我已经将颜色设置为红色。
Ellipse obj = new Ellipse()
{
Name = "",
Width = width,
Height = height,
Fill = transp,
Stroke = red,
};
然后,如果我单击某个椭圆,我会要求笔触颜色改变颜色。
if (obj.Stroke == red) obj.Stroke = green;
else if (obj.Stroke == green) obj.Stroke = red;
else obj.Stroke = gray;
但问题是总是处于else
状态。即使颜色在if
它返回我的条件下是相同的false
。并且总是当点击我的椭圆变成灰色。
为什么会这样?我该如何解决?
编辑: