时,这里是我的问题代码:延迟UI更新添加项目的StackPanel
private void button1_Click(object sender, RoutedEventArgs e)
{
Rectangle1.Fill = color;
for (int i = 0; i < 1000; i++)
{
StackPanel1.Children.Add(new TextBlock() { Text = "TestBlock" });
}
}
当然这需要一些时间的TextBlocks添加到StackPanel中。但由于某种原因,矩形的布局与StackPanel同时更新。我试图通过强制矩形更新与
Rectangle1.UpdateLayout();
TextBlocks添加到StackPanel之前解决此问题。但是这也行不通。那么如何在开始向StackPanel添加项目之前更改矩形的颜色?
我没有线索。
我无法为我的按钮找到'PreviewMouseDown'事件。也没有'Rectangle1.InvalidateVisual'。我究竟做错了什么? :( – Stacksatty 2012-07-05 13:41:54
看到我的更新对不起,这是Windows手机:) – MBen 2012-07-05 13:45:26
谢谢!是的,我注意到了。 ;) 当我使用'MouseLeftButtonDown'事件时,它不会改变颜色,但它适用于'GotFocus'事件。实际上,我想在用户点击按钮(GotFocus)后立即执行这两个操作,这在我的问题中没有提及。所以我需要两个单独的'GotFocus'事件来填充矩形,另一方面执行其他操作。对困惑感到抱歉! – Stacksatty 2012-07-05 14:01:19