1

私はこれがかなり基本的なことを知っていますが、これを私の人生で機能させることはできません。

クラスの (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 が発生するはずです (プロパティは実際には変更されないため、これはおそらく機能しないことがわかっています)。 )

現時点では、検証は私のビジネス オブジェクトにあります。

誰かがこれに光を当てることができますか?

4

0 に答える 0