2014-02-13 80 views
0

我正在使用mvvm模式的WPF項目。 我正在使用IDataError信息和驗證模板來顯示驗證。 我不想在禁用某些控件時顯示驗證。我不能想出一個好的解決方案,我可以做到這一點。有人可以提出一個好的解決方案嗎?禁用控件的WPF驗證

回答

0

IsEnabled屬性綁定到您的視圖模型中的屬性。然後在您的IDataErrorInfo處理程序中,如果支持屬性爲false,則不要驗證。

//xaml 
<TextBox IsEnabled={Binding ValidateTheTextBox} Text={Binding MyText}/> 

//backing property 
public bool ValidateTheTextBox { get; set;} 

//IDataErrorInfo switch 
case "MyText": 
    if(ValidateTheTextBox) 
    { 
     //Validates when true 
    }