2013-04-09 40 views
1

我必須綁定ValidatesOnDataErrors的值,以便它可以在運行時確定。如何使ValidatesOnDataErrors可綁定?

原因是因爲我並不總是想驗證數據。

這是一個結合左右的財產,我知道我CANT做到這一點:

"{Binding Path=SomePath, ValidatesOnDataErrors={Binding Path=SomeBoolProperty}}" 

所以我的問題是,如何將我改變我的結合使得ValidatesOnDataErrors值,可以在確定運行。我想保留ViewModel中的綁定。我不想在後面的View's代碼中設置任何內容。

回答

2

在你的ViewModel中實現這個邏輯,並使其實現IDataErrorInfo接口。

當不需要驗證,使性能:

string Error { get; } 
string this[string columnName] { get; } 

返回一個空字符串;

作爲獎勵,此行爲將很容易測試。

+0

不錯,這可以工作... – Willem 2013-04-09 09:53:25