更新数据绑定集合中的特定项目

时间:2014-05-07 06:32:27

标签: c# .net windows-phone-8 windows-phone

我有windows phone 8应用程序,显示人物图片和他从服务器发送的详细信息(类似于联系簿)。

我实现这一点的方法是将服务器中的图像存储在具有唯一名称的独立存储中,然后在数据库中添加此唯一名称和人员信息。

我通过将数据库绑定到LongListSelector(使用Observable Collection)来实现GUI。 LongListSelector项目模板具有Image控件,我使用ValueConverter类将唯一名称从数据库转换为图像的物理位置。当服务器向个人信息发送更新时,我可以简单地更新数据库,数据绑定将自动更新UI。直到这里一切都很完美。

现在我有这种情况: 当服务器发送更新的映像时,我只能更新隔离的存储。 如何让GUI知道图像已更新?我不知道如何在这里使用数据绑定,因为图像名称没有改变,数据库表中没有更新过程

除了重新加载整个集合之外,还有其他方法吗?

1 个答案:

答案 0 :(得分:3)

我猜这个与UI绑定的类就像一个ViewModel,正在实现INotifyPropertyChanged接口或一些派生类(ViewModelBase,例如,如果您正在使用MVVM Light)。

在这种情况下,您应该使用与图像控件绑定的属性的名称引发ProperChanged事件(或在MVVM Light中调用RaisePropertyChanged方法),以便通知UI数据已经改变。将再次调用转换器,图像将更新。