2012-10-03 2 views
2

내가 원하는 것은 쉽게 설명 할 수 있습니다 : wpf-tabitem이 선택된 경우 배경색을 변경하십시오 (윈도우 배경에 맞춰야 함). 기본 컨트롤의 다른 모든 속성은 동일하게 유지되어야합니다.기본 TabItem의 트리거 템플릿에서 단일 속성을 변경하는 방법은 무엇입니까?

내가 생각 해낸 덤프 솔루션은 다음 섹션에서 색상 #FFF9F9F9을 내 ResourceDictionary에 전체 기본 스타일을 복사하고 대체하는 것입니다 : 분명히

<Trigger Property="Selector.IsSelected"> 
    /* ..... cutting some lines here ....*> 
    <Setter Property="Panel.Background" TargetName="Bd"> 
    <Setter.Value> 
    <SolidColorBrush> 
    #FFF9F9F9</SolidColorBrush> 
    </Setter.Value> 
    </Setter> 

,이를 좋아하고 상속을 적용하려하지 않는다 (BasedOn="{StaticResource {x:Type TabItem}}"). 이것은 아무런 효과가 없었다. 그런 다음 템플릿 설정을 실험했습니다. 그러나 "Bd"라고 표시된 기본 템플릿의 경계를 처리하지 못했습니다. 내 ContentTemplated에 테두리를 추가했지만 기본 TabItem의 다른 모든 기능은 사라졌습니다 (마우스 오버 등).

누군가가 전체 기본 템플릿을 복사하지 않고이 색상 속성을 변경하는 방법에 대한 힌트를 줄 수 있습니까? 어떤 도움을 주셔서 감사합니다!

답변

0

기본 템플릿의 속성 (예 : Background)에 색이 연결되어 있지 않으면 템플릿을 편집 된 복사본으로 바꾸어야하므로 다른 방법을 사용할 수 없습니다.

+0

속성 ("Panel.Background")이 있지만 액세스 할 수 없습니다. 나는 몇 가지 해결 방법이있을 것으로 기대했다. 다른 방법이 없다는 것을 분명히 해줘서 고맙습니다. – user1717654

관련 문제