private void ProcessMemoryKey(Calculator.CalculatorButtonType buttonType) { decimal currentValue = CalculatorUtilities.ParseDecimal(DisplayText); _showNewNumber = true; switch (buttonType) { case Calculator.CalculatorButtonType.MAdd: Memory += currentValue; break; case Calculator.CalculatorButtonType.MC: Memory = decimal.Zero; break; case Calculator.CalculatorButtonType.MR: DisplayText = Memory.ToString(); _showNewNumber = false; break; case Calculator.CalculatorButtonType.MS: Memory = currentValue; break; case Calculator.CalculatorButtonType.MSub: Memory -= currentValue; break; default: break; } }
public static bool IsMemory(Calculator.CalculatorButtonType buttonType) { switch (buttonType) { case Calculator.CalculatorButtonType.MAdd: case Calculator.CalculatorButtonType.MC: case Calculator.CalculatorButtonType.MR: case Calculator.CalculatorButtonType.MS: case Calculator.CalculatorButtonType.MSub: return(true); default: return(false); } }
public static bool IsDigit(Calculator.CalculatorButtonType buttonType) { switch (buttonType) { case Calculator.CalculatorButtonType.Zero: case Calculator.CalculatorButtonType.One: case Calculator.CalculatorButtonType.Two: case Calculator.CalculatorButtonType.Three: case Calculator.CalculatorButtonType.Four: case Calculator.CalculatorButtonType.Five: case Calculator.CalculatorButtonType.Six: case Calculator.CalculatorButtonType.Seven: case Calculator.CalculatorButtonType.Eight: case Calculator.CalculatorButtonType.Nine: case Calculator.CalculatorButtonType.Decimal: return(true); default: return(false); } }
public static Button FindButtonByCalculatorButtonType(DependencyObject parent, Calculator.CalculatorButtonType type) { for (var i = 0; i < VisualTreeHelper.GetChildrenCount(parent); i++) { var child = VisualTreeHelper.GetChild(parent, i); var buttonType = child.GetValue(ButtonBase.CommandParameterProperty); if (buttonType is not null && (Calculator.CalculatorButtonType)buttonType == type) { return(child as Button); } var result = FindButtonByCalculatorButtonType(child, type); if (result is not null) { return(result); } } return(null); }
public static string GetCalculatorButtonContent(Calculator.CalculatorButtonType type) { var content = string.Empty; switch (type) { case Calculator.CalculatorButtonType.Add: content = "+"; break; case Calculator.CalculatorButtonType.Back: content = "Back"; break; case Calculator.CalculatorButtonType.Cancel: content = "CE"; break; case Calculator.CalculatorButtonType.Clear: content = "C"; break; case Calculator.CalculatorButtonType.Decimal: content = CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator; break; case Calculator.CalculatorButtonType.Divide: content = "/"; break; case Calculator.CalculatorButtonType.Eight: content = "8"; break; case Calculator.CalculatorButtonType.Equal: content = "="; break; case Calculator.CalculatorButtonType.Five: content = "5"; break; case Calculator.CalculatorButtonType.Four: content = "4"; break; case Calculator.CalculatorButtonType.Fraction: content = "1/x"; break; case Calculator.CalculatorButtonType.MAdd: content = "M+"; break; case Calculator.CalculatorButtonType.MC: content = "MC"; break; case Calculator.CalculatorButtonType.MR: content = "MR"; break; case Calculator.CalculatorButtonType.MS: content = "MS"; break; case Calculator.CalculatorButtonType.MSub: content = "M-"; break; case Calculator.CalculatorButtonType.Multiply: content = "*"; break; case Calculator.CalculatorButtonType.Nine: content = "9"; break; case Calculator.CalculatorButtonType.None: break; case Calculator.CalculatorButtonType.One: content = "1"; break; case Calculator.CalculatorButtonType.Percent: content = "%"; break; case Calculator.CalculatorButtonType.Seven: content = "7"; break; case Calculator.CalculatorButtonType.Negate: content = "+/-"; break; case Calculator.CalculatorButtonType.Six: content = "6"; break; case Calculator.CalculatorButtonType.Sqrt: content = "Sqrt"; break; case Calculator.CalculatorButtonType.Subtract: content = "-"; break; case Calculator.CalculatorButtonType.Three: content = "3"; break; case Calculator.CalculatorButtonType.Two: content = "2"; break; case Calculator.CalculatorButtonType.Zero: content = "0"; break; } return(content); }
public static Button FindButtonByCalculatorButtonType(DependencyObject parent, Calculator.CalculatorButtonType type) { if (parent == null) { return(null); } for (int i = 0; i < VisualTreeHelper.GetChildrenCount(parent); i++) { var child = VisualTreeHelper.GetChild(parent, i); if (child == null) { continue; } object buttonType = child.GetValue(Button.CommandParameterProperty); if (buttonType != null && (Calculator.CalculatorButtonType)buttonType == type) { return(child as Button); } else { var result = FindButtonByCalculatorButtonType(child, type); if (result != null) { return(result); } } } return(null); }