[英]WPF Datagrid VERY SLOW
我正在使用數據網格來顯示包含約50行的數據表。 由於某種原因,網格的渲染非常慢,我花了大約2秒的時間來顯示帶有數據的網格。 例如,如果我使用ListBox或ListView,則渲染速度更快,這意味着完全沒有延遲。 我要顯示的數據表有20列,但是如果我只想顯示一列,則對渲染性能沒有影響。
那就是我用來顯示網格的代碼:
<DataGrid ItemsSource="{Binding Data}" AutoGenerateColumns="True" />
如果我將autogeneratecolumns設置為false(網格渲染行但沒有列),則網格仍需要約2秒的時間來渲染
<DataGrid ItemsSource="{Binding Data}" AutoGenerateColumns="False" />
如果我使用列表框而不是完全沒有延遲(但是我需要編寫一個通用模板來顯示所有列),那么ListView也沒有任何延遲
<ListBox ItemsSource="{Binding Data}"/>
我不知道為什么網格這么慢。 我也嘗試設置VirtualizingPanel.IsVirtualizing =“ True”,但它對性能沒有影響。
有任何想法嗎?
KR曼努埃爾
所有DataGrid的運行速度都非常慢(甚至是您支付的費用)。 您需要打開虛擬化。 VirtualizingStackPanel.IsVirtualizing = true
以及VirtualizingStackPanel.VirtualizationMode = recycling
。 如果您有很多列,或者開始做模板,那么它將再次緩慢地進行爬網。 您真的無能為力。 我已經嘗試了每個DataGrid(同步融合,基礎設施等)。 他們都很慢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.