2013-07-04 17 views
0

這是場景:在Panel中顯示大量UIElement s。如何在面板中高效顯示大量UIElements?

由於這些控件的數量可能很大,所以我很擔心內存分配和性能問題。

可視化是一種選擇,但我希望能夠做的更好,因爲我們的目標是隻顯示這些控件的內容,也沒有需要處理鼠標或鍵盤事件。

在這種情況下,有什麼方法可以提高性能嗎?

謝謝。

+0

「多少」是多少?內存/性能影響可能不會像你想象的那麼重要。如果這是一個半合理的數字,那麼快速實現基本測試/ GUI來查看它是否會成爲問題可能會更簡單。 –

回答

0

您只需使用正常的ListBox即可顯示它們,默認面板爲VirtualizingStackPanel,默認情況下IsVirtualizing屬性設置爲true。

VirtualizingStackPanel

你當前正在運行的性能問題或者他們發生的情況下爲他們準備?在生成並顯示所有內容和發現的問題後,我只會擔心性能問題。

這裏是如何管理大型數據集和虛擬化的一些例子一篇文章:http://www.codeproject.com/Articles/34405/WPF-Data-Virtualization

+0

謝謝。我的理論意思是,當不需要處理鼠標事件或不需要像_IsMouseOver_和...這樣的屬性時,是否有一種提高性能的方法? – Ramin

+0

添加了一個鏈接到我發現的文章與一些例子。也檢查出user1795804s鏈接。我認爲這可能是現在最好的 –

0

你說...可視化我假設也許你的意思是虛擬化?如果是這樣,那麼你可能會或可能不知道這個網站:http://msdn.microsoft.com/en-us/library/cc716879.aspx

除了虛擬化,他們還談論延期滾動。我希望這有幫助。

+0

順便說一句,你可能會有多少物品? – Killingsworth

+0

感謝您糾正我。用戶決定元素的數量,我想爲任何場景做好準備。 – Ramin

+0

我真的不會爲此擔心。我會啓用虛擬化讓.NET CLR負責其餘部分。 – Killingsworth