如何在 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..
}
我有一个按钮和一个椭圆,我需要在连续三次点击时更改同一个椭圆的填充颜色,例如第一次点击 - 填充颜色为红色,第二次点击 - 黄色,第三次点击 - 绿色。 如何使用按钮单击的单个事件处理程序来执行此操作?
根据您的应用程序的大小,您可以通过多种方式完成此操作。如果它很重要,请阅读状态模式并在每次单击时更改状态。
或者如果它很小你可以做这样的事情..(请将其视为伪代码)
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..
}