I have a business object with three columns (int year, int month and double value) bound to the GridView.
When the user adds a new row or edits an existing one, some cell validation takes place.
This is an example property of the business object
private
int
month;
public
int
Month
{
get
{
return
month;
}
set
{
try
{
if
(month == value)
return
;
month = value;
Time =
new
DateTime(t.Year, value, t.Day, t.Hour, t.Minute, t.Second);
onPropertyChanged(
"Month"
);
}
catch
{
throw
new
InvalidOperationException(Strings.MonthInvalid);
}
}
}
When the user enters 13 or something else that is not a valid month number, the "new DateTime()" call will throw an exception which will be caught, and then in turn, a new exception will be thrown and the message will be shown to the user in a nice red tooltip.
However, if I enter something like 1354684635135746876510, the control will be unable to fit that into my integer property so the Exception with the message "Input is not in a correct format" will be thrown. The message is in English, and I need to localize this. Obviously I can't edit .NET's exceptions (nor should I). But how can I solve this? I'd like to be able to validate the cells with my own messages supplied, no matter what is entered. Is this possible?