ОК, работаю над WPF (используя MVVM) и натолкнулся на вопрос, хочу какой-нибудь вклад. У меня простой класс
как показано ниже (предположим, у меня реализован IDataErrorInfo):
public class SimpleClassViewModel
{
DataModel Model {get;set;}
public int Fee {get { return Model.Fee;} set { Model.Fee = value;}}
}
Затем я пытаюсь привязать его к xaml:
<TextBox Text={Binding Fee, ValidatesOnDataErrors=true}/>
когда пользователь затем очищает текст, возникает ошибка привязки данных, потому что он не может преобразовать string.empty в int. Хорошо, поле Fee является обязательным, но поскольку привязка данных не преобразуется обратно, я не могу предоставить информацию об ошибке, поскольку мой класс не обновлен. Так я должен сделать следующее?
public class SimpleClassViewModel
{
DataModel Model {get;set;}
int? _Fee;
public int? Fee
{
get { return _Fee;}
set { _Fee = value;if (value.HasValue) { Model.Fee = value;}
}
}