按钮 按钮1 和文本框 textBox1 。这是 button1 的 ClickEvent hadler:
private void button1_Click(object sender, RoutedEventArgs e)
{
DateTime now = DateTime.Now;
textBox1.Text = "some text";
TimeSpan span = DateTime.Now - now;
MessageBox.Show(span.TotalMilliseconds.ToString());
}
span.TotalMilliseconds 在Debug中为1 ... 2,在Release中为0 ... 1。但即使在Release中,它的值也只有10倍的“2”。
问题是,为什么这么慢?
我正在实现类似于 DataGrid 的我自己的控件,屏幕上有大约300个可见单元格。我实现了自己的UI虚拟化,它基于在单元格“后面”移动数据。所以每次滚动每个单元格的文本都会更新。它持续超过300毫秒。