我还没有使用wpf很多,并认为这将是一个简单的过程,在运行时改变椭圆的颜色。我有一个FileWatcher,并且在创建的事件中,我想将椭圆的颜色更改为颜色并再次返回,从而创建闪烁效果。 (创建为椭圆,BR4是在XAML定义纯色刷)在运行时改变椭圆颜色
public void watcherCreated(object seneder, FileSystemEventArgs e)
{
Application.Current.Resources["br4"] = new SolidColorBrush(Colors.Green);
created.Fill = (SolidColorBrush)Application.Current.Resources["br4"];
}
一旦一个文件被在其中引发事件我得到这个误差的路径中创建:无效操作异常 调用线程不能访问此对象,因为不同的线程拥有它。 我已经使用freeze()方法寻找解决方案,但没有成功。
created.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(
delegate()
{
Application.Current.Resources["br4"] = new SolidColorBrush(Colors.Green);
created.Fill = (SolidColorBrush)Application.Current.Resources["br4"];
}
));
得到它感谢意见
参见[这](http://stackoverflow.com/a/1458032/773118)答案(WPF的部分)类似(完全一样?)的问题。 – Eirik 2012-08-17 12:03:02