2
使用mvvm學習wpf(使用EF作爲ORM)。驗證失敗wpf mvvm
在我的視圖模型我有屬性:
//---------------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 - 是反映在DB TBL_CLIENT表的entittyobject
現在,在我看來,我綁定一堆這樣的文本框(例如僅在客戶的名字):
<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" />
我試圖用不同的觸發器,updatesource ..還是德驗證不起作用。
哦,我有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中爲每個實體對象定義單獨的屬性,但該屬性接受整個實體對象?
在此先感謝,亞歷克斯
謝謝,會檢查。 – HotFrost 2011-03-25 14:44:07