私はこれがかなり基本的なことを知っていますが、これを私の人生で機能させることはできません。
クラスの (Person) プロパティにバインドされたテキスト ボックス (PassportField) とチェック ボックス (PassportCheckBox) があります。Person クラスは、INotifyPropertyChanged および IDataErrorProvider インターフェイスを実装します。
これが私のバインド コントロールのソース コードです。
Private WithEvents _PersonBindingSource As New Windows.Forms.BindingSource
Public Sub InitialiseBinding(ByVal person As Person)
Me._PersonBindingSource.DataSource = person
Me.PassportCheckBox.DataBindings.Add("Checked", _DoctorClinicBindingSource, "Passport", True, Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)
Me.PassportField.DataBindings.Add("Text", _DoctorClinicBindingSource, "PassportText", True, Windows.Forms.DataSourceUpdateMode.OnPropertyChanged, String.Empty)
End Sub
チェックボックスがオンになっている場合、テキストボックスを空白のままにすることはできず、これはテキストボックスに対するエラープロバイダーによって示されるように、テキストボックスを検証する必要があります。
したがって、ユーザーがチェック ボックスをオンにして、データを入力せずにテキスト ボックスからタブで移動した場合 (つまり、空白のままにした場合)、INotifyPropertyChanged が発生するはずです (プロパティは実際には変更されないため、これはおそらく機能しないことがわかっています)。 )
現時点では、検証は私のビジネス オブジェクトにあります。
誰かがこれに光を当てることができますか?