TextBox
値とをチェックする必要があるWPFアプリケーションがありComboBox
ます。それが空であるか、フォーマット上にない場合、ボタンクリックイベントはエラーを発生させるはずであり、選択されたインデックスがComboBox
再び0である場合、エラーを発生させるはずです(エラープロバイダーのように)。
私はインターネットで多くの調査を行い、 IDataErrorInfoを使用したソリューションに出くわしました。しかし、問題は、ボタンクリックイベントでこれをどのように行うかです。すべての例は、フォームのロードでそれを実行しています。
私はWPFにまったく慣れていません。以下は私のコードです
public class ClientMap : IDataErrorInfo
{
public string CDSNo { get; set; }
public ClientMap(int ID)
{
Id = ID;
}
public ClientMap()
{
}
public string Error
{
get { throw new NotImplementedException(); }
}
public string this[string columnName]
{
get
{
string result = null;
if (columnName == "CDSNo")
{
if (string.IsNullOrEmpty(CDSNo))
result = "Please enter a CDS No";
else
{
string regEx = "[A-Z]{3}-\\d{9}-[A-Z]{2}-\\d{2}";
if (!Regex.IsMatch(CDSNo, regEx))
{
result = "Invalid CDS No";
}
}
}
return result;
}
}
public int Id { get; set; }
public CE.Data.Customer Customer { get; set; }
public CE.Data.Institute Institute { get; set; }
public bool Archived { get; set; }
public DateTime DateCreated { get; set; }
}
XAMLは
<Window.Resources>
<validation:ClientMap x:Key="data"/>
</Window.Resources>
<control:AutoCompleteTextBox Style="{StaticResource textBoxInError}">
<TextBox.Text>
<Binding Path="CDSNo" Source="{StaticResource data}"
ValidatesOnDataErrors="True"
UpdateSourceTrigger="Explicit">
<Binding.ValidationRules>
<ExceptionValidationRule/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</control:AutoCompleteTextBox>
私を助けてください。ありがとう