调用SolidColorBrush

时间:2018-05-29 06:33:20

标签: c#

我怎么能调用,所以我不会收到以下错误?

  

System.InvalidOperationException:

调用线程无法访问此对象,因为其他线程拥有该对象。

 // Method 1
                    if (((SolidColorBrush)RRefresh.Fill).Color == CustomGreen.Color && Foldername == string.Empty)
                    {
                        Application.Current.Dispatcher.BeginInvoke(new Action(() =>
                        {
                            Driver.Navigate().Refresh();
                        }));
                    }

// Method 2
        if (Driver != null && ((SolidColorBrush)RRefresh.Fill).Color == CustomGreen.Color)
        {
            Application.Current.Dispatcher.BeginInvoke(new Action(() =>
            {
                Driver.Navigate().Refresh();
            }));
        }

1 个答案:

答案 0 :(得分:1)

您可以使用control.Dispatcher.CheckAccess()来检查当前线程是否拥有该控件。如果它拥有它。 否则使用此方法:

this.Dispatcher.Invoke(() =>
{
    ...// your code here.
});