2013年5月15日 星期三

[W8App] ListBox Binding data (1) – Overview

在決定要Binding元件之前,先要檢查要Binding的資料本身的特性。

binding_1

如果想讓Binding的物件能反映資料的改變,則資料的本身必需繼承自INotifyPropertyChanged,透過OnPropertyChanged發送事件讓物件更新。

如果物件的集合在程式運作過程中不會有增減的特性,則將繼承自INotifyPropertyChanged的元件套入List<T>模版中即可

如果物件的集合在程式的執行過程中會動態的增減,則繼承自INotifyPropertyChanged的元件必需套入 ObservableCollection<T>模版。

由於要Binding ListBox屬於UI元件,若資料的增減行為是發生在非同步的執行緒中,則會發生UI元件在不同執行緒運作的錯誤,所以必需記錄GUI元件所在的Window,讓元件增減的處理發生在Window相同的執行緒中。

沒有留言:

張貼留言