我有一个部分类来扩展我的一个LinqToSql类。在这个部分类中,我有以下计算字段。
public bool IsInCluster
{
get
{
return Cluster != null;
}
}
为了使网格列数据绑定到此字段自动更新,我实现了以下部分方法。
partial void OnClusterIDChanged() { SendPropertyChanged("IsInCluster"); }
但是当我按照以下代码更新Cluster属性时,不会调用OnClusterIDChanged方法:
private void ExecCreateClusterCommand()
{var cluster = new Cluster() { ID = Guid.NewGuid(), MailService = AppState.CurrentMailService }; App.DataContext.Clusters.InsertOnSubmit(cluster); foreach (DeliveryPoint deliveryPoint in SelectedDeliveryPoints) { deliveryPoint.Cluster = cluster; } App.DataContext.SubmitChanges();
}
我已成功将此技术用于与计算字段相关的其他非导航属性。有没有办法使这项工作?
答案 0 :(得分:0)
在Cluster
的设置器中,如果州已更改,请致电OnClusterIDChanged
。
答案 1 :(得分:0)
我能找到的唯一解决方案是在DeliveryPoint类中创建一个公共方法,使我能够为所需字段(导航属性)调用SendPropertyChanged:
public void CallSendPropertyChanged(string propertyName)
{
SendPropertyChanged(propertyName);
}