Ваш код нуждается в десятичной дроби, текстовое поле нуждается в строке. ViewModel, где вы делаете преобразование.
private decimal totalPriceDecimal;
private string totalPriceString;
public string TotalPrice
{
get
{
return this.totalPriceString();
}
set
{
this.totalPriceString = value;
decimal temp;
if (int.TryParse(value, out temp))
{
this.totalPriceDecimal = temp;
}
}
}
Тогда ваш код, которому требуется десятичное число, может использовать totalPriceDecimal, в то время как вы можете привязать строку к текстовому полю.
Что еще более важно, если пользователь вводит что-то, что не может быть проанализировано, вы знаете и можете отобразить сообщение об ошибке.