0
在將控件添加到網格期間,我遇到性能問題。當我設置添加100個控件時,它在Windows Phone中需要將近2秒,並且它凍結UI。有沒有其他方法可以將自定義控件添加到網格?這是我的代碼:在Windows Phone 8.1上添加控件期間提高性能
private void generateGrid(int size)
{
int buttonsInColumn = 5;
SmallButtonControl smallButton;
buttonEdge = screenWidth/buttonsInColumn;
for (int i = 0; i < buttonsInColumn; i++)
grChoolseBoard.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto });
for (int j = 0; j < size/buttonsInColumn; j++)
grChoolseBoard.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
for (int j = 0; j < size/buttonsInColumn; j++)
{
for (int i = 0; i < buttonsInColumn; i++)
{
smallButton = new SmallButtonControl() { Width = buttonEdge, Height = buttonEdge };
smallButton.Text = (j * buttonsInColumn + i + 1).ToString();
smallButton.ButtonBackground = getColorAndEnableState(j * buttonsInColumn + i + 1, _level+1,ref smallButton);
smallButton.SetValue(Grid.ColumnProperty, i);
smallButton.SetValue(Grid.RowProperty, j);
grChoolseBoard.Children.Add(smallButton as SmallButtonControl);
smallButton.Tapped += new TappedEventHandler(GoToBoard_Tapped);
}
}
}
感謝您的回答。我試着用'等待Dispatcher.RunAsync(CoreDispatcherPriority.High',但它不夠,因爲添加控件到佈局的時間是相同的。 – user2846091