2010-10-13 33 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