當我在Datagrid上設置.ItemSource()時,調用幾乎立即返回,但在渲染實際行之前存在大的延遲。這是非常明顯的,我不知道爲什麼會發生這種情況,因爲所有其他渲染操作都會立即發生。例如,滾動速度非常快,刪除/重新排序列可立即呈現。所以這個延遲只發生在設置一個新的.ItemsSource時。 datagrid沒有自定義樣式/觸發器/模板,所以我不明白爲什麼渲染需要這麼長時間。如果我將窗口大小調整爲很小,延遲就會消失,所以不是綁定本身很慢。ItemsSource渲染延遲
回答
這取決於幾個原因:你的DataSource有多快,它有多少行,最重要的一個:你在DataGrid中使用分組嗎?如果是這樣,那麼DataGrid控件中存在一個已知的錯誤,當它必須處理大量數據和分組時,會使其顯着變慢。
我沒有使用分組,我將調試語句放在我綁定的對象的屬性中,並且在設置ItemsSource之後立即打印它們,渲染沒有結束,直到很久以後,所以似乎證實它不是綁定是慢的。 – Muis
渲染複雜(大數據模板,長動畫,大圖片,顏色漸變,a.s.o.) – Fischermaen
不,它只是簡單的標準數據網格,沒有任何自定義。 – Muis
- 1. FBML元素渲染延遲
- 2. 引導CDN渲染延遲
- 3. SDL2不會延遲渲染
- 4. 反應延遲渲染
- 5. 在Flex中延遲渲染或強制重新渲染
- 6. DirectX alpha混合(延遲渲染)
- 7. 延遲渲染中的光積累
- 8. 如何延遲渲染表格
- 9. React組件的延遲渲染
- 10. 陣營 - 延遲重子組件渲染
- 11. 延遲網頁的初始渲染
- 12. JavaScript在HTML之後延遲渲染
- 13. JSF組件的延遲渲染
- 14. jquery對話框渲染延遲
- 15. 延遲渲染位置重建
- 16. OpenGL延遲渲染不起作用
- 17. Ogre3d /延遲渲染/點光源
- 18. 延遲視圖渲染不起作用
- 19. 存儲延遲渲染的JSX代碼
- 20. 可能用`onEnter`延遲組件渲染?
- 21. 如何在服務器響應延遲時延遲組件渲染
- 22. 推遲控制器渲染
- 23. SAPUI5聚合綁定是否有計時或渲染延遲?
- 24. 獲取延遲渲染燈通的世界位置
- 25. 如何使用我的數據表的延遲渲染功能
- 26. 延遲渲染與預片段着色器深度剔除
- 27. 如何實現Frustum剔除? (當渲染很多塊時延遲)
- 28. 阻止css資源。這會導致渲染頁面延遲
- 29. 使用的setInterval在陣營延遲部件渲染
- 30. 爲什麼會出現菜單欄的延遲渲染(wxpython,matplotlib)?
您是否設法解決此問題? –
@RobotMess是的,在某種程度上,但我不記得如何。我相信這與使用.DataSource()而不是.ItemSource()有關,但我不確定。 – Muis