问题描述
第二次失败,因为无法在后台线程中创建(新建)UI对象 (您可以创建它,但不能使用它) 错误消息: 无法使用与其父Freezable线程不同的DependencyObject。
docTextAndHighlight.WordHighlight.Add(wordPos, new HightLight(w.Len, System.Windows.Media.Brushes.Salmon));
docTextAndHighlight.WordHighlight.Add(wordPos, new HightLight(w.Len, new SolidColorBrush((Color)ColorConverter.ConvertFromString(w.Highlight))));
这些颜色全部启动System.Windows.Media.Brushes
添加功能以允许用户保存搜索,因此需要将颜色保存到数据库。 现在我正在使用ToString保存十六进制颜色 这方面的问题是新的 是否有方法可以序列化System.Windows.Media.Brush,以便在取消序列化时不必对其进行新操作?
我只使用8个笔刷,所以我考虑将它们放入一个枚举中,并按枚举索引进行序列化。
推荐答案
在创建画笔后对它调用Freeze
,它不再是线程关联的。