首先,我的英语很差,希望你能少学一点!我正在使用DomainServices(DomainContext Class - Namespace: System.ServiceModel.DomainServices.Client)开发silverlight应用程序来检索和更新数据。我有一些属性:
DomainContextVBHS _Service = new DomainContextVBHS();
public int AddedEntitiesCount
{
get{ return _Service.EntityContainer.GetChanges().AddedEntities.Count; }
}
public int ModifiedEntitiesCount
{
get{ return _Service.EntityContainer.GetChanges().ModifiedEntities.Count; }
}
public int RemovedEntitiesCount
{
get{ return _Service.EntityContainer.GetChanges().RemovedEntities.Count; }
}当_Service得到任何更改时,我如何在UI上通知他们?
发布于 2014-09-06 06:08:46
更新:这里的示例代码:https://dl.dropboxusercontent.com/u/8424800/StackOverflowHasChanges.zip
我用反编译器快速查看了源代码。没有官方规定的办法。幸运的是,如果您愿意听取所有内部实体集上的所有属性更改事件,您应该能够实现您所追求的目标。
公共类示例: INotifyPropertyChanged {
SampleDomainContext _Service = new SampleDomainContext();
public Sample()
{
_Service.Load(_Service.GetCustomersQuery());
_Service.Customers.PropertyChanged += PropChanged;
//_Service.Orders.PropertyChanged += PropChanged;
// etc.
}
public int AddedEntitiesCount
{
get { return _Service.EntityContainer.GetChanges().AddedEntities.Count; }
}
public int ModifiedEntitiesCount
{
get { return _Service.EntityContainer.GetChanges().ModifiedEntities.Count; }
}
public int RemovedEntitiesCount
{
get { return _Service.EntityContainer.GetChanges().RemovedEntities.Count; }
}
public void PropChanged(object sender, PropertyChangedEventArgs e)
{
var pc = this.PropertyChanged;
if (pc != null)
{
pc(this, new PropertyChangedEventArgs("AddedEntitiesCount"));
pc(this, new PropertyChangedEventArgs("ModifiedEntitiesCount"));
pc(this, new PropertyChangedEventArgs("RemovedEntitiesCount"));
// etc
}
}
public event PropertyChangedEventHandler PropertyChanged;
}https://stackoverflow.com/questions/25656602
复制相似问题