使用任务时调用鼠标光标

时间:2014-08-24 13:32:44

标签: wpf

我正在使用任务流程,并且在此过程中我想调用鼠标 我应该怎么做?

  Task.Factory.StartNew(() =>
                {
                    try
                    {
                        _isEnabled = false;
                        _canBack = false;
....

我已经尝试过以下哪些无效......

System.Windows.Input.Cursors.Wait;

2 个答案:

答案 0 :(得分:3)

在任务的进入和退出时设置窗口光标 。由于您只能在UI线程上访问窗口对象,因此要访问游标属性,您必须在UI线程上委托它。

Task.Factory.StartNew(() =>
    {
        Application.Current.Dispatcher.Invoke(new Action(() =>
                                                Cursor = Cursors.Wait));
        Thread.Sleep(5000); // Some time consuming operation here.
        Application.Current.Dispatcher.Invoke(new Action(() =>
                                               Cursor = Cursors.Arrow));
    });

答案 1 :(得分:0)

您可以尝试以下内容:

Application.Current.Dispatcher.Invoke((Action) (() => { Mouse.OverrideCursor = Cursors.Wait; }));
祝你好运