2014-05-12 2 views
2

FlowDocument에서 선택한 텍스트를 사용자 지정 테마로 사용하려고합니다. 다른 컨트롤을 위해, 우리는 기본값을 재정의 할 스타일을 사용하고 있습니다 :FlowDocumentReader에서 선택한 텍스트의 선택 배경색을 변경하는 방법

<Style.Resources> 
     ... 
     <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" 
         Color="{DynamicResource trimGroundColor}"/> 
    </Style.Resources> 

그러나이 방법은 FlowDocument의 우리의 사용과 작동하지 않습니다. 나는 이런 종류의 스타일을 FlowDocument, FlowDocumentReader 및 스 누프 (snoop)를 사용하여 시각적 트리를 검사하는 여러 단계에 적용 해 보았습니다.

궁극적으로 선택 UI는 AdornerDecorator 내부의 AdornerLayer에 의해 그려진 것처럼 보입니다. AdornerDecorator를 타깃으로 한 스타일 접근법을 사용해 보았습니다.

우리는 기본 스타일을 사용하여이 앱 전체를 수행하려고합니다.

이 색상은 어떻게 변경합니까?

답변

0

색상은 FlowDocumentReader.SelectionBrush 속성을 수정하여 변경할 수 있습니다

<Style 
     TargetType="FlowDocumentReader"> 
     <Setter Property="SelectionBrush" 
       Value="{DynamicResource trimGroundBrush}"/> 
</Style> 

참고 :이 솔루션에서, 우리가 작업하는 동안 문제의 코드 샘플에서, 우리는 컬러 자원과 작업 브러시로.

관련 문제