如何将对象添加到DataContext

时间:2017-11-07 19:11:44

标签: wpf data-binding

我有一个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添加绑定?

0 个答案:

没有答案