문제

그런 스타일이 있습니다

<Style TargetType="TreeViewItem">
  <Style.Triggers>
    <Trigger Property="IsExpanded" Value="True">
      <Setter Property="Header" Value="Pink"></Setter>
    </Trigger>
  </Style.Triggers>
</Style>

확장 된 TreeViewItems의 텍스트가 "분홍색"이기를 기대하지만 실제로는 설정이 없습니다. 대신 속성 = "배경"으로 변경하면 작동합니다. 어떻게 헤더 ~와 다르다 배경?

도움이 되었습니까?

해결책

이것에 대해 더 완전히 답변하려면 더 많은 정보가 필요하다고 생각합니다. 그러나 내가 추측해야한다면, 아마도 당신은 아마도 treeviewitem에서 헤더 속성을 다음과 같이 명시 적으로 설정한다고 말할 것입니다.

<TreeView>
    <TreeViewItem
        Header="Blue"/>
</TreeView>

그리고이 경우 설정하면 스타일에 넣은 모든 것을 명시 적으로 무시할 수 있습니다.

다른 팁

Ascalonx의 답변에 대해 자세히 설명하기 위해 :

복사 조쉬 스미스 블로그 :

WPF가 내부적으로 사용하여 DP의 실제 값이 무엇인지 파악하기 위해 잘 정의 된 규칙 세트가 있습니다. 다음은 DP의 값을 해결할 때 사용 된 우선 순위 규칙에 대한 간략한 요약입니다 (최우선 순위에서 가장 높은 것).

  1. 속성 시스템 강요
  2. 활성 애니메이션 또는 홀드 동작이있는 애니메이션
  3. 로컬 가치
  4. 템플릿 템플릿
  5. 스타일 트리거
  6. 템플릿 트리거
  7. 스타일 세터
  8. 테마 스타일
  9. 계승
  10. 종속성 속성 메타 데이터의 기본값

따라서 헤더 속성을 명시 적으로 설정하면 (또는 묶인 경우 생각하면) 그 문제가 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top