private void PutContent(object sender, RoutedEventArgs e) { Button btn = (Button)sender; string content = btn.Content.ToString(); if (ExpressionBox.SelectedText.Length > 0) { ExpressionBox.SelectedText = content; Regex trimmer = new Regex(@"\s\s+"); ExpressionBox.Text = trimmer.Replace(ExpressionBox.Text, " "); ExpressionBox.Select(0, 0); int caretLength = ExpressionBox.Text.Length; ExpressionBox.CaretIndex = caretLength; } else { string[] operators = { "+", "-", "*", "/", "%", "^", "√" }; if (operators.Contains(content)) { ExpressionBox.Text = ExpressionBox.Text.Insert(ExpressionBox.CaretIndex, $" {content} "); int caretLength = ExpressionBox.Text.Length; ExpressionBox.CaretIndex = caretLength + 3; } else { ExpressionBox.Text = ExpressionBox.Text.Insert(ExpressionBox.CaretIndex, content); int caretLength = ExpressionBox.Text.Length; ExpressionBox.CaretIndex = caretLength + 1; } Regex trimmer = new Regex(@"\s\s+"); ExpressionBox.Text = trimmer.Replace(ExpressionBox.Text, " "); } ExpressionBox.Focus(); }
private void SetFocus() { ExpressionBox.Focus(); ExpressionBox.Select(ExpressionBox.Text.Length, 0); ExpressionBox.ScrollToEnd(); }