在我的MainWindows.xaml中,我有一个Fill="#95305D"
的矩形
我想在点击时使用不同的十六进制颜色更改其颜色,所以我尝试了:
public void Rect_Click(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
if (RMaximize.Fill == (SolidColorBrush)new BrushConverter().ConvertFromString("#95305D"))
RMaximize.Fill = (SolidColorBrush)new BrushConverter().ConvertFromString("#3E7A61");
else
RMaximize.Fill = (SolidColorBrush)new BrushConverter().ConvertFromString("#95305D");
}
然而它不起作用,我没有错误但也没有变化,我该怎么做?
答案 0 :(得分:1)
当BrushConverter转换字符串时,它会创建一个新的SolidColorBrush。 SolidColorBrush是一种引用类型。当您将其与.globl _start
进行比较时,您会比较两个不同的引用。
虽然可以比较画笔的颜色,但我会按如下方式重构代码:
RMaximize.Fill
我引入了一个新变量来计算点击次数,并更改填充奇数或偶数点击次数