簡體   English   中英

從BackGroundWorker創建/訪問畫筆

[英]Create/Access Brush from a BackGroundWorker

第二個失敗,因為無法在后台線程中創建(新)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索引進行序列化。

創建畫筆后,在其上調用“ Freeze ,該畫筆不再是線程固定的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM