3
我正在使用WPF集成的EntLib 6驗證塊。 簡單的屬性在我的VM:獲取驗證結果
[StringLengthValidator(3, MessageTemplate = "Shorten me!")]
public String SomeText
{
get { return _someText; }
set
{
_someText = value;
OnPropertyChanged("SomeText");
}
}
而且相應的綁定到一個文本框:
<TextBox ToolTip="{Binding (Validation.Errors).CurrentItem.ErrorContent, RelativeSource={x:Static RelativeSource.Self}}"
Text="{Binding SomeText, UpdateSourceTrigger=PropertyChanged}"
vab:Validate.BindingForProperty="Text"/>
如果輸入多於三個字符到文本框,值被拒絕,最後一個有效的一個是存儲。文本框以紅色突出顯示,相應的消息顯示爲工具提示。
在虛擬機內我想檢查是否有任何驗證錯誤 - 但由於該值在視圖中被拒絕,一切似乎都沒有問題。那麼如何確定是否存在驗證錯誤?
注意: VAB不使用IDataErrorInfo接口!
vab防止綁定將無效值傳遞給VM - 無論啓用ValidatesOnDataErrors – Jaster 2014-12-01 09:23:15