相关疑难解决方法(0)

在WPF中显示"等待"屏幕

我正在尝试为长时间运行的操作显示请等待对话框.问题是因为这是单线程,即使我告诉WaitScreen显示它永远不会.有没有办法可以更改该屏幕的可见性并立即显示?我将Cursor调用作为示例包含在内.在我调用this.Cursor之后,光标立即更新.这正是我想要的行为.

private void Button_Click(object sender, RoutedEventArgs e)
{
  this.Cursor = System.Windows.Input.Cursors.Pen;
  WaitScreen.Visibility = Visibility.Visible;

  // Do something long here
  for (Int32 i = 0; i < 100000000; i++)
  {
    String s = i.ToString();
  }

  WaitScreen.Visibility = Visibility.Collapsed;
  this.Cursor = System.Windows.Input.Cursors.Arrow; 
}
Run Code Online (Sandbox Code Playgroud)

WaitScreen只是一个Z-index为99的网格,我隐藏并显示.

更新:我真的不想使用后台工作者,除非我必须这样做.代码中有许多地方会发生这种启动和停止.

.net c# wpf xaml multithreading

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

.net ×1

c# ×1

multithreading ×1

wpf ×1

xaml ×1