обучение wpf с mvvm (используя EF в качестве ORM).
На мой взгляд, у меня есть свойство:
//---------------ClientNew
public const string ClientNewConst = "ClientNew";
private TBL_CLIENT _clientNew = new TBL_CLIENT();
public TBL_CLIENT ClientNew
{
get
{
return _clientNew;
}
set
{
if (_clientNew == value)
{
return;
}
var oldValue = _clientNew;
_clientNew = value;
// Update bindings, no broadcast
RaisePropertyChanged(ClientNewConst);
}
}
где TBL_CLIENT - это объект права, который отражает таблицу TBL_CLIENT в БД
Теперь, в моем ПРОСМОТРЕ я связываю несколько таких текстовых полей (пример только для имени клиента):
<TextBox Style="{StaticResource ResourceKey=entryFormTextBox}"
Text="{Binding ClientNew.CLIENT_FIRST_NAME,
ValidatesOnDataErrors=True,
NotifyOnValidationError=true,
ValidatesOnExceptions=True,
UpdateSourceTrigger=LostFocus}"
Grid.Column="1"
Grid.Row="1" />
Я пытался использовать разные триггеры для источника обновлений ... проверка не работает.
о, я реализовал интерфейс idataerrorinfo в моей модели представления (но он никогда не попадет в нее ..)
#region IDataErrorInfo Members
string IDataErrorInfo.Error
{
get { throw new NotImplementedException(); }
}
string IDataErrorInfo.this[string columnName]
{
get
{
if (string.IsNullOrEmpty("ClientNew.CLIENT_FIRST_NAME"))
{
return "Client Name is required";
}
return null;
}
}
#endregion
итак, вопрос .. как я могу реализовать простую, насколько это возможно, проверку с использованием idataerrorinfo для моего случая, где у меня нет отдельного свойства, определенного в ModelView для каждого объекта сущности, но свойство принимает весь объект сущности
спасибо заранее,
Alex