Привет, я хочу сделать переопределение для всего textBox Но я тоже хочу сделать метод TextChange
Мой метод TextChange
private void TxtRozhaieKoleGharardad_OnTextChanged(object sender, TextChangedEventArgs e)
{
TryCatchBlock.ExecuteInTryCatch(() =>
{
if (TxtRozhaieKoleGharardad.Text != string.Empty)
{
int roz = Convert.ToInt32(TxtRozhaieKoleGharardad.Text);
PersianDate date = TxtTarikhShoro.SelectedDate.AddDays(roz);
TxtTarikhPayan.SelectedDate = date;
}
}, ref ResultMessageTryCatch);
}
и мой код переопределения
class TextBox_JustNumbers : System.Windows.Controls.TextBox
{
protected override void OnTextChanged(TextChangedEventArgs e)
{
try
{
int caret = 0, lenghtText = 0;
if (this.CaretIndex == 0 || this.CaretIndex == this.Text.Length)
this.SelectionStart = this.Text.Length;
string value = this.Text.Replace(",", "");
decimal ul;
if (decimal.TryParse(value, out ul))
{
caret = this.CaretIndex;
lenghtText = this.Text.Length;
this.Text = string.Format("{0:#,#}", ul);
if (lenghtText + 1 == (this.Text.Length))
this.CaretIndex = caret + 1;
else
this.CaretIndex = caret;
}
}
catch
{
}
}
}
поэтому, когда я запускаю этот код и изменяю TextBox Text, просто сделайте Override и не переходите в метод TextChange. Как я могу это исправить, я хочу сделать переопределение за оригинальным методом TextChange