如何通知UI它的属性从代码隐藏更改? (WP8)

时间:2014-08-20 05:59:59

标签: c# windows-phone-8

我是否可以在不创建继承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;该怎么办?

1 个答案:

答案 0 :(得分:1)

如果您想通知集合已更改,请使用

的ObservableCollection MSDN: ObservableCollection

它将为您实现INotifyPropertyChanged属性。

如果要通知集合项的属性,那么您还必须为该属性实现INotifyPropertyChanged。


所有这一切的一个很好的例子是关于如何突出显示LongListSector的选定项目

的示例

WP8 Highlight SelectedItem LongListSelector