2013-07-05 2 views
0

에서/액세스 브러쉬 만들기 두 번째는 백그라운드 스레드에서
(물론 당신이 그것을 만들 수 있지만 당신이 그것을 사용할 수 없습니다)
오류 메시지를 사용자 인터페이스 객체를 (신규) 만들 수 없습니다로 실패
은 할 수 없습니다 상위 Freezable과 다른 스레드에 속한 DependencyObject를 사용하십시오.BackgroundWorker에

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이

사용자가 검색이 때문에 데이터베이스에 색상을 지속 할 필요가 저장하게 시작합니다. 지금 내가 16 진수 색상을
그게 문제 새
내가를 unserialize 할 때 내가 새를하지 않아도되도록 System.Windows.Media.Brush를 직렬화하는 방법이 있나요되어 저장 ToString을 사용하고
?

저는 8 개의 브러쉬와 같이 사용하기 때문에 열거 형에 넣어서 열거 형 인덱스로 직렬화 할 생각입니다.

답변

1

브러쉬를 만든 후 브러시에 Freeze을 불러 오면 더 이상 스레드와 연결되지 않습니다.

관련 문제