簡體   English   中英

更新WPF Datagrid中的單行

[英]Update single row in a WPF Datagrid

我正在創建一個下載管理器,我的WPF數據網格綁定到表示正在進行下載的對象集合(在單獨的線程中)。 當我運行多個下載時,每個人都使用此代碼每秒更新其datagrid項:

        if (DateTime.Now > download.LastUpdateTime.AddSeconds(1))
        {
            this.downloadsGrid.Items.Refresh();
            download.LastUpdateTime = DateTime.Now;
        }

Datagrid.Items.Refresh()完成了這項工作,但它重建了整個數據網格,導致所有下載在一秒內多次更新其他數據網格行,我不希望出現這種行為。 有沒有辦法刷新數據網格中的特定行(項)?

您的下載類是否實現了INotifyPropertyChanged 如果沒有,那就是為什么你必須調用refresh才能看到網格中的變化。 如果實現INotifyPropertyChanged ,則在更改值時將更新綁定。

如果將DataGrid綁定到ObservableCollection (實現INotifyCollectionChanged ),則在添加新項目或刪除項目時將通知DataGrid。 此外,如果您只是更新集合中對象的屬性,則對象應實現INotifyPropertyChanged並引發PropertyChanged事件,該事件將告訴DataGrid僅更新該值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM