我正在使用WPF/.NET 4,並且當我將VirtualizingStackPanel.VirtualizationMode =「Recycling」屬性添加到我的ListBoxes時,它會導致相同的列表滾動時一遍又一遍地重複項目。例如,假設我有一個包含100個項目的ListBox,並且每次都有10個可見項。當列表框第一次加載時,我會看到項目1 - 10,但是當我開始向下滾動查看剩餘項目11 - 100時,項目1 - 10在我向下滾動時反覆重複,因此我無法查看項目11 - 100.如果我將回收更改回標準,那麼一切工作正常,但滾動非常慢(我的ListItems相當複雜,其中有幾個圖像,文本字段和按鈕)。當回收處於開啓狀態時,滾動速度非常快,但我只能查看項目1 - 10。有什麼錯誤或如何解決它的任何想法?提前致謝。WPF ListBox VirtualizingStackPanel.VirtualizationMode =「回收」導致相同的列表項始終出現
4
A
回答
5
回收模式通過重新使用呈現的ListBoxItems,如其名稱所暗示的那樣工作。當ListBox項不再需要顯示從列表滾動的項目時,ListBox將重新使用它來顯示滾動到視圖中的項目。
要更改ListBoxItem顯示的內容,ListBox只需將其DataContext屬性設置爲新項目。這要求ListBoxItem的內容必須正確響應DataContextChanged事件。如果您僅使用數據綁定來填充控件,則會自動發生。但是,如果您的評論意味着您正在使用一些代碼隱藏來更新屬性,那麼您需要確保您的事件處理代碼正在完成這項工作。
相關問題
- 1. Array.filter()始終返回相同的輸出
- 2. Devise.friendly_token始終返回相同的散列
- 3. php收集mysql導致多表同列
- 4. WPF - ListBox ContentTemplate文本框MouseDown導致列表框項不被選中
- 5. SQL始終返回相同的結果
- 6. getDefaultDisplay()。getRotation();返回始終相同的值
- 7. BeanManager始終返回相同的參考
- 8. C1RichTextBox ListBox中始終滾動到最後一個列表元素
- 9. 列表框始終返回0
- 10. 共享首選項始終返回相同的值
- 11. WPF ListBox插入
- 12. 初始屏幕導致MenuItems不出現
- 13. ListBox SelectedIndex始終是-1
- 14. WPF兩個ListBox
- 15. WPF鼠標綁定的列表框項目模板不一致
- 16. iOS UITableView:usingCAGradientLayer導致初始對象不出現在表視圖
- 17. 在列表視圖回收位圖導致問題
- 18. WPF Databound Listbox
- 19. 使用按鈕和收音機提交表單,但始終是相同的值?
- 20. Silverlight 4:當Listbox的項目收縮時,ListBox不收縮
- 21. sendDataMessage始終導致空指針異常
- 22. Pattern.COMMENTS始終導致Matcher.find失敗
- 23. WPF Listbox分組
- 24. WPF ListBox綁定項目源
- 25. wpf - 驗證時LDAP始終返回false
- 26. 如何讓最後一個導航項始終保持一致?
- 27. 將WPF ListBox SelectedItem綁定到列表
- 28. Silverlight ListBox始終強調選擇的第一個項目
- 29. 列表框項目WPF,不同項目的不同背景顏色
- 30. 一個類的方法始終返回相同的值
是你的項目databound?綁定是如何完成的?通過ViewModel?另外,這些項目是通過Data/ControlTemplate,ItemContainer還是UserControl創建的? – CodeWarrior 2011-02-04 04:13:39