2012-10-31 56 views
2

我有一個網格,它有不同高度的行。我注意到當我向下滾動網格時,滾動條的拇指會改變它的高度。DataGrid滾動條在滾動過程中更改大小

一些研究之後,我發現這是由UI虛擬化造成的:電網不創建的所有項目,因此不知道電網的總高度,所以而是通過計算平均值來確定的總高度它創建的行的行高,並將其乘以行數。這會導致拇指在滾動過程中更改其大小,因爲虛擬化會創建新項目並銷燬不再顯示的項目,這會使網格認爲總網格大小發生了變化。

我的問題:有沒有一種方法可以使用我自己的啓發式設置滾動縮略圖大小?最好用非侵入性的方式,所以我不會有重新模板我的控制。禁用虛擬化不是一種選擇。

注:我使用的DevExpress的DataGrid,但這種行爲也發生了WPF的DataGrid。

回答

1

你有沒有考慮使用模板style your scrollbar?在鏈接

注意,您可以具體樣式的拇指 ...
關於你的評論,你也可以嘗試綁定DataGrid中的項目數和執行要做出規模計算什麼基於物品數量的拇指動態。

+0

是否有可能在該解決方案,根據項目的數量來調整拇指大小?如果是這樣,一個例子會有所幫助。 –