Example #1
0
        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;
        }