0

第二个失败,因为无法在后台线程中创建(新)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 个画笔,所以我想把它们放在一个 Enum 中并按 Enum 索引序列化。

4

1 回答 1

1

创建画笔后调用Freeze它,它不再是线程关联的。

于 2013-07-05T22:04:06.000 回答