【发布时间】:2016-01-13 19:44:12
【问题描述】:
在向网格添加控件时,我遇到了性能问题。当我设置添加 100 个控件时,它在 Windows Phone 中需要将近 2 秒,它会冻结 UI。有没有其他方法可以将自定义控件添加到网格?这是我的代码:
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);
}
}
}
【问题讨论】:
标签: c# xaml windows-phone-8.1 code-behind