我将WPF与Entity-Framework绑定。
Window.DataContext属性设置为Quote。
这个Quote有一个属性Job,我必须触发Quote.JobReference.Load
它应该从服务器加载。
<ContentControl Content="{Binding Job}"
ContentTemplate="{StaticResource JobTemplateSummary}"/>
如上所示,我正在尝试将ContentControl
绑定到DataContext
StaticResource
类的Quote
窗口。
我在Window.Load
偶数处理程序中调用Load。
我应该在其他地方打电话吗?
答案 0 :(得分:0)
问题是导航属性默认不调用PropertyChanged
事件,所以当绑定窗口时(在Page_Load处理程序之前)JobReference仍未加载,我们必须调用Quote.OnPropertyChanged("Job")
当job属性发生更改时显式,因此WPF UI知道刷新控件绑定。
我将以下内容添加到Quote
类中,这解决了问题:
Public Sub New()
AddHandler JobReference.AssociationChanged, _
AddressOf Job_AssociationChanged
End Sub
Sub Job_AssociationChanged(sender As Object, e As CollectionChangeEventArgs)
OnPropertyChanged("Job")
End Sub