2010-10-13 59 views
1

我有一个笔刷颜色,我想每隔一个线程等等更改颜色。通过线程更改笔刷颜色的属性

static SolidColorBrush myBrush; 

Thread changeColourThread = new Thread(changeColour); 

static void changeColour() 
{ 
     myBrush = new SolidColorBrush(Color.FromArgb(255, 33, 96, 22)); 
} 

这将返回一个UnauthorizedAccessException,处理这个问题的最佳方法是什么?

感谢

回答

1

你会需要使用调度,尽量this thread

+0

谢谢你检查出来 – turtlepower 2010-10-13 08:24:41

+1

你当然也可以使用backgroundworker类,它可以在操作过程中的某些时候回报UI线程 – Mark 2010-10-13 09:49:36

+0

@Mark:是的,那也可以。我期望在内部使用调度程序。 – Douglas 2010-10-13 09:55:01

0

它看起来像创建SolidColorBrush必须在UI线程中完成(不知道为什么)。我有类似的问题,我的解决方案是只返回Color,然后使用Converter将其转换为.xaml中的Brush