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

How to add more than one event for button click within a single event handler in Expression Blend?

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

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

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

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..

}