2014-03-25 54 views
0

在我的Windows应用商店应用中,我有一个数据源设置为Observable集合的GridView。当项目被添加或删除到集合时,一切正常并且视图被更新。但是,如果集合的项目属性发生更改,则不会触发collectionChanged事件,也不会更新视图。我发现了一个解决方案,如何使用INotifyChanged和propertyChanged事件,但是我想流畅地更新视图,而不用做一些重新分配propertyChanged Handler中的gridview数据源的事情。Win RT - 在可观察集合中的项目更改时更新视图

所以我想问一下,如果有什么解决这个问题的。

谢谢您提前。

+0

你想什么要发生的变化项目时的属性?如果该属性是可观察的(当值改变时引发'INotifyPropertyChanged'接口的'PropertyChanged'事件) - 绑定到该属性的任何东西都应该被更新。 –

+0

嗯,我有集合界定ListView和集合时更改列表视图更新。但是,只有收集项目发生更改时,视图才会更新。所以我没有单独的物品,而是整个收藏。在这种情况下PropertyChanged事件的上升是否也有帮助?因为我尝试了它并没有奏效,但也许我犯了一个错误。 –

回答

-1

请参考下面的代码片段,在收集发生变化时通知。

public class MyClass : INotifyPropertyChanged 
    { 
     private ObservableCollection<double> _myCollection; 

     public ObservableCollection<double> MyCollection 
     { 
      get { return _myCollection; } 
      set 
      { 
       _myCollection = value; 
       RaisedOnPropertyChanged("MyCollection"); 
      } 
     } 


     public event PropertyChangedEventHandler PropertyChanged; 

     public void RaisedOnPropertyChanged(string _PropertyName) 
     { 
      if (PropertyChanged!=null) 
      { 
       PropertyChanged(this, new PropertyChangedEventArgs(_PropertyName)); 
      } 
     } 
    } 

希望它能帮助你..!

问候, 喜悦雷克斯

相关问题