我没有经常使用 wpf,并认为在运行时更改椭圆的颜色将是一个简单的过程。我有一个 FileWatcher,在创建的事件中,我想将椭圆的颜色更改为一种颜色,然后再变回来,创建一个闪烁的效果。(created是椭圆,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"];
}
));
收到谢谢评论