重建他們我在的Windows Phone 8.1的WinRT應用程序,它也是團體項目有ListView
。組模板已定義,並且它們包括Rectangle
對象,其ImageBrush
對象的Fill
屬性。 該ListView
具有ItemsStackPanel
作爲其ItemsPanel
顯示的項目和基團。ItemsStackPanel一直使用緩存的項目,而不是每次都
問題是,我認爲,重複使用物品容器,同時虛擬化,因爲圖像被加載和繪製一次,但是當我滾動時,圖像的訂單有一些混亂,其中一些丟失圖像和圖像加載事件ImageBrush
也不會被解僱,表明項目被緩存。
我試過在ItemsStackPanel
上設置VirtualizingStackPanel.VirtualizationMode="Standard"
而不是"Recycling"
,但似乎沒有任何效果。
任何幫助,將不勝感激。
你在隱藏代碼隱藏的列表視圖項目對象嗎?我知道如果你使用模板正確地做到這一點,WPF永遠不會發生,但我認爲你真的在UWP中,並且你只是添加了WPF標籤,希望能夠被暴躁的老人降低(沒有在我的情況下工作,也許我不老或足夠煩躁)。 –
我唯一要做的就是訂閱ImageBrush.ImageFailed事件的情況下,加載默認的圖像與主圖像不能因爲某些原因被打開(但第一次創建項目後的處理程序沒有被擊中,僅在第一次)。 ItemsWrapGrid綁定到相同的源不會有這個問題。有任何想法嗎? 我特別指出Windows Phone 8.1是WinRT的平臺,但我認爲WPF足夠接近,以至於有人可能會遇到同樣的問題並且可以提供幫助。 – TheAgent
沒有想法,對不起。如果我是你,我會創建一個能夠再現問題的最小例子。通常對我而言,我發現我*不能*在更簡單的上下文中重現問題,所以我只是比較非破壞的示例和破碎的真實代碼並找到解決方案。但是,如果你能寫出一個可行的MVCE(呃,不起作用,我的意思是),那對任何想要幫助的人來說都是一個巨大的幫助。 –