我是否可以在不创建继承BindableBase类的模型的情况下通知UI控件,它的ItemsSource是从代码隐藏更改的?
这是我的代码隐藏的结构:
public partial class Allobjects : PhoneApplicationPage
{
ObservableCollection collectionToBeAssigned;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
UIControl.ItemsSource = collectionToBeAssigned;
ChangeCollection();
}
public void ChangeCollection()
{
//here collectionToBeAssigned will be changed
}
}
似乎AllObjects类不能继承BindableBase类。那么,如何在我的情况下通知UI我改变了收藏? ChangeCollection()函数中的简单重新绑定会有帮助吗?如果我在ChangeCollection()函数中再次编写UIControl.ItemsSource = collectionToBeAssigned;
该怎么办?
答案 0 :(得分:1)
如果您想通知集合已更改,请使用
的ObservableCollection MSDN: ObservableCollection
它将为您实现INotifyPropertyChanged属性。
如果要通知集合项的属性,那么您还必须为该属性实现INotifyPropertyChanged。
所有这一切的一个很好的例子是关于如何突出显示LongListSector的选定项目
的示例