C# WPF delay填充表格的函数
我有一个C# WPF delay填充表格的函数,c#,wpf,timer,C#,Wpf,Timer,我有一个表控件,我想用颜色填充它,每次绘制之间的延迟为X毫秒 这是我正在做的一个非常普遍的例子(它更长,但我删除了不重要的行): 以上只是冻结窗口,直到函数完成,并在一瞬间绘制所需的单元格 我知道我不应该使用睡眠,但当我在控制台应用程序上工作时,这是一个简单的解决方案。有什么建议吗?您可以使用新的异步功能 private async void myFunc() { while (SOME_CONDITION) { await Task.Delay(X_MS);
表
控件,我想用颜色填充它,每次绘制之间的延迟为X
毫秒
这是我正在做的一个非常普遍的例子(它更长,但我删除了不重要的行):
以上只是冻结窗口
,直到函数完成,并在一瞬间绘制所需的单元格
我知道我不应该使用
睡眠
,但当我在控制台应用程序上工作时,这是一个简单的解决方案。有什么建议吗?您可以使用新的异步功能
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的同步上下文表editig将在UI线程上执行您正在通过执行睡眠来阻止当前UI线程。答案可以从中获得,您可以使用如中所示的调度员。
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;
}
}