我使用WPF和C#創建的數以千計的控制的最佳途徑。是什麼在滾動區域用WPF
我有一個問題。我需要在可滾動區域創建大量可綁定模板控件(它們都是不同類型的)。例如1000個文本框,1000個下拉列表和1000個複選框。
問題是,當他們都創建它的作品真的很慢。
現在的問題是 - 是否有可能同時擁有如此多的控件而沒有滯後,我應該在什麼方向尋找解決方案?我想保存使用模板,數據綁定和簡單事件處理(如鼠標點擊)的功能。
P.S.我想的東西很多的(唯一的幾何渲染,不同的基類等),但目前這似乎爲我工作(我還沒有嘗試過),唯一的方法是創建只有那些適應當前視口的控制和更新滾動控件列表。
P.P.S我知道,有3.5 SP1的機制是在ListBox中使用時,列表項滾動過程中重複使用,但這種方法可能,因爲所有這些項目都是不同類型的不能在此處使用。
非常感謝。
有人告訴我,並已經看到了自己說的控制與數據綁定的數量較多數量較少各地優於其他方式。 FrameworkUIElement的*非常昂貴。 – user7116 2009-06-24 16:49:16
@sixlettervariables:這就是我在這裏所說的 - 最好是有一個較少的總控件數量,並在滾動時重新分配(重用)數據綁定,就像列表框一樣。他只需要在滾動期間額外重新定位/佈局。 – 2009-06-24 16:58:02