[英]WinRT - Is item rendered?
是否可以檢查屏幕上是否已經渲染了項目(因此對用戶可見)? 我正在嘗試使用自動“圖像交換動畫”創建圖像控件,但是當頁面上有數百個圖像時(例如在GridView中),性能會很糟糕。 我想知道哪些控件對用戶可見,所以我只為它們運行動畫。
您可以通過獲取UIElement.TransformToVisual()
來檢查項目的位置,然后使用它來獲取項目相對於GridView
ScrollViewer
的剪貼畫框的坐標,但是如果您對其進行檢查,其性能可能不會很好在每個ScrollViewer
視圖更改事件上,並且可以使用一些優化,如果您的GridView支持虛擬化,這也將很困難,如果您希望能夠滾動數百個圖像,則需要進行優化。
如果您不想花費數天或數周的時間來解決問題,Oleh的建議就是最好的選擇。 你GridView
如果您使用的是虛擬化面板,其將被虛擬化ItemsPanel
屬性,例如WrapGrid
(8.0的Windows默認)或ItemsWrapGrid
(Windows 8.1中默認)。 需要注意的是VariableSizedWrapGrid
沒有被虛擬化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.