Я пытаюсь убедиться, что текст в моем элементе управления, полученный из TextBox, всегда форматируется как валюта.
Я переопределил свойство Text следующим образом.
public override string Text
{
get
{
return base.Text;
}
set
{
double tempDollarAmount = 0;
string tempVal = value.Replace("$", "").Replace(",","");
if (double.TryParse(tempVal, out tempDollarAmount))
{
base.Text = string.Format("C", tempDollarAmount);
}
else
{
base.Text = "$0.00";
}
}
}
Результаты:
- Если я передам значение «Текст»
(AmountControl.Text = "Text";),
текст элемента управления на моей тестовой странице
как и положено, $ 0.00.
- Если я передам значение 7
(AmountControl.Text = "7";), я
ожидайте увидеть "7,00 $", но текст
управления на моей тестовой странице установлено
в "C".
Я предполагаю, что мне здесь не хватает чего-то очень простого. Это что-то о недвижимости? Или я неправильно использую метод строкового формата?