在Windows8 和WindowsPhone8的開發中,Xaml是一個利器!但是如果我們嵌套了N多層的Container,這個時候Xaml就會一個個地計算每一個Container的長寬位置,是很耗資源滴。
這裏有幾條建議可以提高xaml的performance:
1.如果要實現水平或垂直排列,並且沒有特別的間距要求的話,應該用StackPanel代替Grid。
2.在事先知道控件大小的情況下,應該手動設置長寬,以避免不必要的計算。
3.如果控件的某個屬性的默認值和你設置的值一樣的話,delete掉,xaml讀取默認值得速度比解析xaml的速度快。
4.減少對控件的命名,xaml會爲已經被命名的控件分配可尋址對象,所以如果不在外部使用這個控件的話,就別命名了。
5.簡化DataTemplate的內容,比如在使用ListBox時,用戶滾動過程中可能根本不去看中間的某些Item,這個時候其實不需要去渲染這些Item。如果能夠把那些沒有顯示,或者只是掃過的Item用別的Template代替的話可以提高我們程序的performance。大家可以看看這個玩意 LazyListBox