WPF延迟填充表的函数
本文关键字:函数 填充 延迟 WPF | 更新日期: 2023-09-27 18:17:34
我有一个Table
控件,我想用颜色填充它,每次油漆之间的延迟为X
毫秒。
这是我正在做的一个非常一般的例子(它很长,但我删除了不重要的行):
private void myFunc()
{
while (SOME_CONDITION) {
Thread.Sleep(X_MS);
this.myTable.RowGroups[0].Rows[SOME_ROW].Cells[SOME_COLUMN].Background = Brushes.Blue;
}
}
以上只是冻结Window
直到功能完成,并在一瞬间绘制所需的细胞。
我知道我不应该使用Sleep
,但是当我在控制台应用程序上工作时,这是一个简单的解决方案。有什么建议吗?
你可以使用新的异步功能
private async void myFunc()
{
while (SOME_CONDITION) {
await Task.Delay(X_MS);
this.myTable.RowGroups[0].Rows[SOME_ROW].Cells[SOME_COLUMN].Background = Brushes.Blue;
}
}
因为WPF的同步上下文表编辑将在UI线程上执行