我有一個DataGrid,其中每行包含一個ItemsControl。正因爲如此,網格的排可以很高。如果一行高於網格的高度,我無法滾動查看該行的其餘部分,因爲DataGrid自動滾動到下一行。也就是說,如果我正在查看第1行的上半部分,並且單擊了垂直滾動條的向下箭頭,則會跳到第2行的頂部。它不會讓我看到第1行的下半部分。如何製作DataGrid平滑滾動行而不是逐行逐行?防止DataGrid從捕捉到行滾動
4
A
回答
6
聽起來像你想禁用虛擬化。要做到這一點,只需將CanContentScroll
設置爲False
就可以了ScrollViewer
。但是,如果您的DataGrid
中有大量數據,那麼虛擬化將變得非常緩慢,因爲所有DataGridRows
都將一次生成,而不是實際可見的時間。
<DataGrid ...
ScrollViewer.CanContentScroll="False">
3
我碰到這個問題,其中滾動將堅持行。然後,我遇到了:https://stackoverflow.com/a/13384164/4791472
<Datagrid ..
VirtualizingPanel.ScrollUnit="Pixel"
基本上它設置滾動捕捉到的像素,而不是項目。這將使平滑的滾動體驗。
+0
當您需要虛擬化時,這是正確的選擇。 – David
相關問題
- 1. 如何防止DataGrid RowDetails停止滾動?
- 2. 如何防止自動滾動DataGrid中
- 3. Win32防止窗口「捕捉」
- 4. 防止GTKMM捕捉異常
- 5. 滾動捕捉點
- 6. 捕捉使用滾動型
- 7. 如何捕捉零滾動?
- 8. 垂直滾動捕捉jQuery
- 9. 鼠標滾動 - 捕捉到的div
- 10. Android - Gallery.onItemSelected()導致滾動以捕捉到
- 11. 防止Div從滾動權?
- 12. 防止從viewForHeaderInSection滾動UITableViewCell
- 13. 防止datagrid伸展到行高
- 14. 防止刪除DataGrid行
- 15. 捕捉滾動到元素只在滾動
- 16. 可滾動面板捕捉到滾動上的元素
- 17. 防止從DevExtreme JS的DataGrid
- 18. Fullpage.js - 防止滾動
- 19. 防止ScrollViewer滾動
- 20. 防止ListView滾動
- 21. 防止iframe滾動
- 22. CSS防止滾動
- 23. 防止FlipView滾動
- 24. 防止UITableView滾動?
- 25. WatchOS捕捉到WKInterfaceTable中滾動的下一行
- 26. 防止多個活動與相機捕捉
- 27. 如何防止地圖標記捕捉到道路
- 28. Fullpage JS:防止捕捉到頂部或底部
- 29. 捕捉滾動的事件停止RowSelected事件(UITableView,Xamarin,MonoTouch)
- 30. 防止JavaScript啓動滾動
謝謝@Meleak。我之前嘗試過,它沒有改變任何東西,但這次它是在做這個伎倆。我不想禁用虛擬化,但如果要查看整行,我有什麼選擇?聽起來像是一個DataGrid的bug。說到這一點,將CanContentScroll更改爲false也會導致我的前29行在第一次加載網格時無法正確佈局。行不會垂直擴展以適應其內容。如果我點擊按鈕再次加載它,它會正確顯示。 – xr280xr
我還沒有看到任何啓用虛擬化的「平滑滾動」方式。關於29行加載不正確,這聽起來像是你遇到的一個奇怪的錯誤。你能發表一些代碼來重現問題嗎? –
我有我的待辦事項列表。 – xr280xr