FontSize는 Window 개체에서 20으로 설정됩니다. 이제 모든 TextBlock은 기본값 대신 글꼴 크기로 20이라는 값을 사용하게 됩니다.
<Window x:Class="MainWindow" Title="MainWindow" FontSize="20" Width="400" Height="300">
<StackPanel>
<TextBlock Text="Text 1" />
<TextBlock Text="Text 2" />
<TextBlock Text="Text 3" />
</StackPanel>
</Window>
만약 TextBlock 중 하나가 다른 FontSize 값을 다음과 같이 설정한다고 가정 해보겠습니다.
<Window x:Class="MainWindow" Title="MainWindow" FontSize="20" Width="400" Height="300">
<StackPanel>
<TextBlock Text="Text 1" />
<TextBlock Text="Text 2" FontSize="30" />
<TextBlock Text="Text 3" />
</StackPanel>
</Window>
Text 2에 FontSize 값(로컬값)이 30이 적용 되었습니다. 이는 종속성 속성에 우선순위가 있다는 겁니다.
실제로 11개의 우선순위가 있으며 MSDN에서 발췌했습니다.
종속성 속성 설정 우선 순위 목록
다음은 속성 시스템에서 종속성 속성의 런타임 값을 할당할 때 사용하는 최종적인 순서입니다. 가장 높은 우선 순위가 가장 먼저 나열됩니다. 이 목록은 종속성 속성 개요에 나와 있는 일반적인 순서를 확장한 것입니다.
-
활성 애니메이션 또는 보류 동작이 있는 애니메이션. 속성 애니메이션이 실제로 효과를 발휘하려면 기준 값이 로컬로 설정된 경우에도 애니메이션되지 않은 기준 값보다 높은 우선 순위를 가질 수 있어야 합니다. 자세한 내용은 이 항목의 뒷부분에 있는 강제 변환, 애니메이션 및 기준 값을 참조하십시오.
로컬 값. 편리 하 게도 동일에서 특성 또는 속성 요소로 설정 하는 "래퍼" 속성을 통해 로컬 값을 설정할 수 있습니다 XAML, 또는를 호출 하 여 합니다 SetValue API 특정 인스턴스의 속성을 사용 하 여 합니다.바인딩이나 리소스를 사용하여 로컬 값을 설정하면 이들 각각은 직접 값을 설정한 것과 같은 우선 순위가 적용됩니다.
-
-
-
암시적 스타일. Style
속성에만 적용됩니다. Style
속성은 해당 요소의 유형과 일치하는 키를 가진 스타일 리소스로 채워집니다. 해당 스타일 리소스가 페이지나 응용 프로그램에 있어야 합니다. 암시적 스타일 리소스의 조회는 테마로 이어지지 않습니다.
스타일 트리거. 페이지나 응용 프로그램의 스타일에 있는 트리거(명시적 또는 암시적인 스타일일 수 있으나 우선 순위가 더 낮은 기본 스타일은 제외).
템플릿 트리거. 스타일에 있는 템플릿 또는 직접 적용된 템플릿의 모든 트리거.
스타일 setter. 값을 Setter 페이지나 응용 프로그램의 스타일입니다.
기본(테마) 스타일. 이 스타일이 적용되는 시기, 그리고 테마 스타일에 있는 템플릿과 테마 스타일의 관계에 대한 자세한 내용은 이 항목의 뒷부분에 있는 기본(테마) 스타일을 참조하십시오. 기본 스타일 내에서는 다음과 같은 우선 순위가 적용됩니다.
테마 스타일의 활성 트리거.
테마 스타일의 setter.
상속. 몇 가지 종속성 속성은 상위 요소에서 하위 요소로 값을 상속하므로 응용 프로그램 전체에서 각 요소에 따로 설정할 필요가 없습니다. 자세한 내용은 속성 값 상속을 참조하십시오.
종속성 속성 메타데이터의 기본값. 종속성 속성에는 해당 속성의 속성 시스템 등록에 따라 설정된 기본값이 있을 수 있습니다. 또한 종속성 속성을 상속하는 파생 클래스에서는 유형별로 해당 메타데이터를 재정의할 수 있습니다(기본값 포함). 자세한 내용은 종속성 속성 메타데이터를 참조하십시오. 기본값보다 먼저 상속을 확인하므로, 상속된 속성의 경우는 상위 요소의 기본값이 하위 요소의 기본값보다 우선적으로 적용됩니다. 따라서 상속 가능한 속성이 어디에서도 설정되어 있지 않으면 하위 요소의 기본값 대신 루트나 상위에 지정된 기본값이 사용됩니다.
https://docs.microsoft.com/ko-kr/dotnet/framework/wpf/advanced/dependency-property-value-precedence 바로가기
댓글
댓글 쓰기