다음을 통해 공유


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

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

FrameworkElement에서 설정한 RequestedTheme 값은 RequestedTheme이 설정된 요소 내에 중첩된 모든 요소에 상속되지만, RequestedTheme을 다시 명시적으로 설정하여 해당 상속을 재정의할 수 있습니다. 예를 들어 이 XAML 예제에서 부모 StackPanel은 테마를 밝게 설정하고 해당 값은 첫 번째 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 로 설정하면 항상 "어둡게"가 테마가 됩니다. Windows Phone ElementTheme.Default 값을 사용하면 사용자가 설정한 시스템 테마에 대한 쿼리가 생성됩니다.

적용 대상

추가 정보