2011-09-01 82 views
0

設置一個ValidationError我碰到Set a ValidationError by Code, by Christian Mosers通過代碼在視圖模型

ValidationError validationError = new ValidationError(regexValidationRule, 
    textBox.GetBindingExpression(TextBox.TextProperty)); 

validationError.ErrorContent = "This is not a valid e-mail address"; 

Validation.MarkInvalid(textBox.GetBindingExpression(TextBox.TextProperty), 
    validationError); 

來到我怎麼能在我的ViewModel使用?

回答

3

還有其他方法可以從虛擬機中獲取錯誤,例如通過執行IDataErrorInfo或通過在setter中拋出異常(綁定然後需要validate on exception)。

+0

感謝和+1爲你回答,我意識到IDataErrorInfo(應該提到,在我的問題)。如果你有機會,你是否也可以提供評論或一些代碼來展示如何使用克里斯蒂娜莫澤斯關於這個問題的技巧? – VoodooChild

+0

@VoodooChild:據我所知,你不應該在虛擬機中引用UI元素,並且提到的方法需要你引用顯示你的數據的UI元素。這種情況我不認爲它適合這種模式。 –