2012-05-21 3 views
1

В MVVM IDataErrorInfo используется для проверки. В этом случае значение проверки индексатора не может быть получено. и после вызова его, как он проверяет значение, я не могу получить. Код здесь. какое значение передается в имени столбца.Как указатель вызывается в Idataerrorinfo?

public string this[string columnName] 
{ 
    get { return GetValidationError(columnName); } 
} 

Зачем использовать индексатор для проверки в wpf. Любой может сказать об этом.

ответ

1

Если вы используете интерфейс IDataErrorInfo, вы проверяете класс, реализующий интерфейс.

Если у вас есть свойство Name, активируйте проверку и измените свойство, указатель вызывается со строкой columnName = "Name". Теперь вы можете обрабатывать проверки «Name» в если заявлении

if(columnName == "Name") 
    // do Name validation 

// редактировать

проверка обжигают в МОФ, если вы измените свойство связывания. Вы должны украсить ваше связывание так:

Text="{Binding UpdateSourceTrigger=LostFocus, Path=FirstName, ValidatesOnDataErrors=true, NotifyOnValidationError=true}" 

Вот хорошее и простое объяснение реализации IDataErrorInfo с использованием WPF и привязок данных errortemplate.

WPF: Validation made easy with IDataErrorInfo

+0

если у меня есть общественный объект Id {get; задавать; } public string Имя {get; задавать; } public decimal OpeningBalance {get; задавать; } и т. д., я могу выполнить проверку на них. – prjndhi

+0

Этот класс реализует idataerrorinfo. – prjndhi

+0

в соответствии с вашим кодом xaml public string Ошибка { get {return null; } } это может быть огонь? Это правда? – prjndhi