AcManager.Pages.Dialogs.CarSpecsEditor.FixableInput_MouseDown C# (CSharp) Метод

FixableInput_MouseDown() приватный Метод

private FixableInput_MouseDown ( object sender, System.Windows.Input.MouseButtonEventArgs e ) : void
sender object
e System.Windows.Input.MouseButtonEventArgs
Результат void
        private void FixableInput_MouseDown(object sender, MouseButtonEventArgs e) {
            if (e.ChangedButton != MouseButton.Right) return;

            var textBox = sender as TextBox;
            if (textBox == null) return;

            var contextMenu = new ContextMenu();

            MenuItem item;

            var mask = GetTextBoxMask(textBox);
            if (mask == null) return;

            if (!Regex.IsMatch(textBox.Text, @"^" + mask.Replace(@"…", @"-?\d+(?:\.\d+)?") + @"$")) {
                item = new MenuItem { Header = AppStrings.CarSpecs_FixFormat };
                item.Click += (s, e1) => FixValue(textBox);
                item.ToolTip = AppStrings.CarSpecs_FixFormat_Tooltip;
                contextMenu.Items.Add(item);
            }

            if (Equals(textBox, WeightInput)) {
                item = new MenuItem { Header = AppStrings.CarSpecs_Recalculate };
                item.Click += WeightRecalculate_OnClick;
                item.ToolTip = AppStrings.CarSpecs_Recalculate_WeightTooltip;
                contextMenu.Items.Add(item);
            }

            if (Equals(textBox, PwRatioInput)) {
                item = new MenuItem { Header = AppStrings.CarSpecs_Recalculate };
                item.Click += PwRatioRecalculate_OnClick;
                item.ToolTip = AppStrings.CarSpecs_Recalculate_PwRatioTooltip;
                contextMenu.Items.Add(item);
            }

            contextMenu.AddTextBoxItems();

            e.Handled = true;
            contextMenu.IsOpen = true;
        }