FrameworkElement.RequestedTheme 속성

정의

리소스 결정에 UIElement (및 해당 자식 요소)에서 사용되는 UI 테마를 가져오거나 설정합니다. 를 사용하여 RequestedTheme 지정한 UI 테마는 앱 수준 RequestedTheme을 재정의할 수 있습니다.

public:
 property ElementTheme RequestedTheme { ElementTheme get(); void set(ElementTheme value); };
ElementTheme RequestedTheme();

void RequestedTheme(ElementTheme value);
public ElementTheme RequestedTheme { get; set; }
var elementTheme = frameworkElement.requestedTheme;
frameworkElement.requestedTheme = elementTheme;
Public Property RequestedTheme As ElementTheme
<uiElement RequestedTheme="elementThemeMemberName" .../>

속성 값

열거형의 값(예 Light: )입니다.

설명

값을 변경하면 RequestedTheme 요소의 기본 템플릿에 대한 리소스 조회 동작이 효과적으로 변경됩니다. 값을 로 Light 변경하면 템플릿은 ThemeDictionaries 컬렉션에서 "밝게"으로 키 지정된 ResourceDictionary의 값을 사용합니다. 앱의 테마와 다르게 UI 테마를 설정하는 것은 종종 메뉴 및 플라이아웃과 같은 부동 컨트롤에 적합합니다.

런타임에 지정된 요소의 RequestedTheme 속성 값을 변경할 수 있습니다. 이는 앱이 실행되는 동안 설정하려고 하면 예외를 throw하는 Application.RequestedTheme 속성과는 대조적입니다.

FrameworkElement에서 설정한 값은 RequestedTheme 가 설정된 요소 내에 RequestedTheme 중첩된 모든 요소에 상속되지만 명시적으로 다시 설정 RequestedTheme 하여 상속을 재정의할 수 있습니다. 예를 들어 이 XAML 예제에서 부모 StackPanel은 테마를 Light로 설정하고 해당 값은 첫 번째 TextBlock 자식 요소에 상속되지만 대신 값을 Dark 로 설정하기 때문에 두 번째 TextBlock 요소에는 상속되지 않습니다.

<StackPanel RequestedTheme="Light">
  <TextBlock>Text using light theme.</TextBlock>
  <TextBlock RequestedTheme="Dark">Text using dark theme.</TextBlock>
</StackPanel>

RequestedTheme 사용자가 고대비 모드에서 실행 중인 경우 속성은 무시됩니다. 고대비 테마XAML 고대비 스타일 샘플을 참조하세요.

참고

Windows에서 RequestedTheme을 ElementTheme.Default 로 설정하면 항상 "어둡게"가 테마가 됩니다.

적용 대상

추가 정보