Account.ManifestManagement.View.AddOrUpdateManifest.txtCost_KeyDown C# (CSharp) Метод

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

private txtCost_KeyDown ( object sender, System.Windows.Input.KeyEventArgs e ) : void
sender object
e System.Windows.Input.KeyEventArgs
Результат void
        private void txtCost_KeyDown(object sender, KeyEventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(this.txtCost.SelectedText) && this.IsNumber(e.Key))
            {
                return;
            }
            string cost = this.txtCost.Text;
            if (!this.IsNumber(e.Key))
            {
                e.Handled = true;
                return;
            }
            if (e.Key == Key.OemPeriod || e.Key == Key.Decimal)
            {
                e.Handled = cost.IndexOf(".") != -1;
                return;
            }
            if (e.Key == Key.Subtract || e.Key == Key.OemMinus)
            {
                e.Handled = cost.IndexOf("-") != -1;
                return;
            }
            if (e.Key != Key.Tab && cost.IndexOf(".") != -1)
            {
                int littleNumberCount = cost.Split('.')[1].Length;
                e.Handled = littleNumberCount >= 2;
                return;
            }
        }