0
我在理解如何處理C#UWP中的ListBox
es時遇到問題。當我嘗試從互聯網上的某個地方獲取項目時,它會失敗。我嘗試閱讀ObservableCollection
s,說實話並沒有完全理解,我的測試仍然失敗。ListBox更新來自遠程的項目
爲什麼不能ListBox
更新並顯示內容 - 當我運行調試器時,它就在那裏。
我在理解如何處理C#UWP中的ListBox
es時遇到問題。當我嘗試從互聯網上的某個地方獲取項目時,它會失敗。我嘗試閱讀ObservableCollection
s,說實話並沒有完全理解,我的測試仍然失敗。ListBox更新來自遠程的項目
爲什麼不能ListBox
更新並顯示內容 - 當我運行調試器時,它就在那裏。
我做了一個小示例應用程序,顯示您有關於數據綁定的所有選項。你可以在這裏下載:https://1drv.ms/u/s!ApdKhb5zPLrRypBoZbHqguGIMqCz2A
亮點:
第1個部分裝載數據
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
await Task.Delay(TimeSpan.FromSeconds(2)); // Fake waiting on result from a webservice/website;
Items = new ObservableCollection<Item>
{
new Item { Title = "Item 1" },
new Item { Title = "Item 2" },
};
Bindings.Update();
await Task.Delay(TimeSpan.FromSeconds(3));
Items[1].Title = "Updated item via PropertyChanged";
}
在的OnNavigatedTo我假裝說我從web服務加載數據(通過使用2秒延時)。然後,在延遲後,我將一個可觀察集合分配給我的Items屬性。現在這個Items屬性需要實現接口INotifyPropertyChanged,否則你需要調用Bindings.Update()。爲此,我選擇了最後一個。我也創建了一個實現INotifyPropertyChanged的Item類。爲了證明這一點,我在最後3秒鐘後更改了第二項的屬性標題。在用戶界面你會看到這個自動獲取更新
你可以顯示你已經有什麼? –