private void Button_Click(object sender, RoutedEventArgs e) { int digit = -1; Button b = sender as Button; if (int.TryParse(b.Content.ToString(), out digit)) { calc.AddDigit(digit); } else { switch (b.Tag) { case "div": calc.AddOperation(CalculatorOperation.Div); break; case "mul": calc.AddOperation(CalculatorOperation.Mul); break; case "min": calc.AddOperation(CalculatorOperation.Sub); break; case "pls": calc.AddOperation(CalculatorOperation.Add); break; case "clear": calc.Clear(); break; case "clearall": calc.clearAll(); break; case "compute": calc.Compute(); break; case "dot": calc.AddPoint(); break; case "negate": calc.TransformInput(CalculatorTransformation.Negate); break; case "percent": calc.TransformInput(CalculatorTransformation.Percent); break; case "sqr": calc.TransformInput(CalculatorTransformation.Sqr); break; case "sqrt": calc.TransformInput(CalculatorTransformation.Sqrt); break; case "inverse": calc.TransformInput(CalculatorTransformation.Inverse); break; case "del": calc.RemoveDigit(); break; } } }