我有一个Window,DataContext设置为ClientContact对象。
Private Sub ContactWindow_Loaded(...
Me.DataContext = myData
...
我有一个引用ClientContact对象的子类的文本框。
<TextBox Text="{Binding SpouseData.FirstName, Mode = TwoWay}" />
这是ClientContact对象。
Public Class Data
Public Property SpouseData() As Data
...
最初SpouseData什么都没有。当他们结婚时,我想添加一个SpouseData对象。我发现如果我将绑定上下文设置为空,我可以再次设置它并且它工作正常。如果我没有先将数据设置为空,则数据不显示。
Private Sub AddSpouse
Me.myData.SpouseData = SpData
Me.DataContext = Nothing
Me.DataContext = myData
End Sub
这是我尝试通知更改。尝试了两种方式。没工作。
Private Sub AddSpouse2
Me.myClientData.SpouseData = SpData
Me.myClientData.NotifySpouseVisible2()
End Sub
Private Sub AddSpouse4
Me.myClientData.SpouseData = SpData
Me.myClientData.SpouseData.NotifySpouseVisible2()
End Sub
Public Sub NotifySpouseVisible2()
NotifyPropertyChanged("FirstName")
NotifyPropertyChanged("LastName")
NotifyPropertyChanged("SSN")
NotifyPropertyChanged("DOB")
NotifyPropertyChanged("Age")
NotifyPropertyChanged("CalcedAge")
End Sub
但似乎我不应该将DataContext设置为空。这样的事情(当然不起作用)。
Me.myClientData.SpouseData = SpData
Me.DataContext.addBinding(New Binding("SpouseData"))
那么如何在不将整个DataContext设置为空的情况下向SpouseData添加绑定?