C# 如何在Expression Blend中的单个事件处理程序中为按钮单击添加多个事件?

C# 如何在Expression Blend中的单个事件处理程序中为按钮单击添加多个事件?,c#,wpf,xaml,blend,C#,Wpf,Xaml,Blend,我有一个按钮和一个椭圆,我需要在连续三次单击时更改同一椭圆的填充颜色,例如,第一次单击-填充颜色为红色,第二次单击-黄色,第三次单击-绿色。 如何使用按钮单击的单个事件处理程序执行此操作?根据应用程序的大小,可以使用多种方法执行此操作。如果它很重要,请阅读状态模式,并在每次单击时更改状态 或者如果它很小,你可以做这样的事情。。请将其视为伪代码 private string _lastState = "DefaultState" public void MyClickHandler() {

我有一个按钮和一个椭圆,我需要在连续三次单击时更改同一椭圆的填充颜色,例如,第一次单击-填充颜色为红色,第二次单击-黄色,第三次单击-绿色。
如何使用按钮单击的单个事件处理程序执行此操作?

根据应用程序的大小,可以使用多种方法执行此操作。如果它很重要,请阅读状态模式,并在每次单击时更改状态

或者如果它很小,你可以做这样的事情。。请将其视为伪代码

private string _lastState = "DefaultState" 

public void MyClickHandler()
{
    ChangeState();
}

private void ChangeState()
{
Switch (_lastState)
case "Default": _lastState = "Red";
            _myControl.Backgroung = Red; 
case "Red": _lastState = "Yellow";
            _myControl.Backgroung = Yellow;
case "Yellow": _lastState = "Green";
            _myControl.Backgroung = Green;


.. and so on..

}

where _myControl is your state .. may be just a string variable..

}

在eventhandler中使用private in字段并检查其值modulo 3?!你好谢谢你的回复。但我有一个疑问。如何在事件第一次发生时为字符串变量_lastState提供初始值。因为如果我在事件处理程序中为_lastState指定一个值,那么每次单击事件发生时,_lastState将设置为该值,并且在开关中遇到相同的情况。初始值可以是默认颜色。。。如果未知,则声明_lastState=default,并有一个案例来处理默认状态。把它看成另一个状态,好了!非常感谢!:-:-