我在理解执行以下操作的正确方法时遇到了一些麻烦:
我绑定的数据作为json文件存在于Internet上。在计时器上打勾,我下载它并使用JavaScriptSerializer,我将它反序列化为一个类。
现在,我想绑定到那些数据,但是当我反序列化时,它会创建一个新类,所以我的绑定会中断(意味着我必须再次设置ItemsSource或DataContext)。
有没有人知道解决这个问题?
谢谢!
答案 0 :(得分:0)
您尝试将数据绑定到哪个控件?如果可以将可观察集合绑定为数据源,那么您需要做的就是在获取数据之前清除可观察集合,然后在取消序列化后将获取的记录添加到集合中。 如果不使用ObservableCollection,则可以向ViewModel添加公共属性,并在获取数据时刷新它们。这将确保刷新发生,因为您的视图绑定到视图模型的公共属性,并且不知道从调用返回的对象。
答案 1 :(得分:0)
绑定反序列化数据后,您应该调用要重新绑定的属性的PropertyChange
事件。如果所选值在新(反序列化)集合中,则应重新选择它。