ThemeShadow 클래스

정의

ThemeShadow는 XAML 요소에 적용하여 x, y, z 좌표에 따라 그림자를 적절하게 그릴 수 있는 미리 구성된 그림자 효과입니다. 또한 ThemeShadow는 다음과 같이 다른 환경 사양에 맞게 자동으로 조정됩니다.

  • 조명, 사용자 테마, 앱 환경 및 셸의 변화에 맞게 조정됩니다.
  • 권한 상승에 따라 요소를 자동으로 그림자로 만듭니다.
  • 요소가 이동하고 승격을 변경함에 따라 요소를 동기화된 상태로 유지합니다.
  • 애플리케이션 전체와 애플리케이션 간에 그림자를 일관성 있게 유지합니다.
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 524288)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ThemeShadow : Shadow
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 524288)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class ThemeShadow : Shadow
Public Class ThemeShadow
Inherits Shadow
상속
Object IInspectable DependencyObject Shadow ThemeShadow
특성

Windows 요구 사항

디바이스 패밀리
Windows 10, version 1903 (10.0.18362.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v8.0에서 도입되었습니다.)

예제

자세한 정보, 디자인 지침 및 코드 예제는 Z 깊이 및 그림자를 참조하세요.

대부분의 일반적인 컨트롤은 ThemeShadow를 사용하여 자동으로 그림자를 캐스팅합니다.

WinUI 2 갤러리 앱이 설치되어 있고 위의 최소 Windows 10 버전 요구 사항을 충족하는 경우 여기를 클릭하여 앱을 열고 일반적인 컨트롤에서 작동하는 ThemeShadow를 참조하세요.

설명

자세한 정보, 디자인 지침 및 코드 예제는 Z 깊이 및 그림자를 참조하세요.

모든 XAML 요소에 ThemeShadow를 적용하여 개념적 캐스터 UIElement와 캐스터의 그림자가 렌더링된 하나 이상의 수신기 UIElement 사이의 상대 x, y 및 z 좌표를 기반으로 그림자를 그릴 수 있습니다.

ThemeShadow는 사각형 그림자만 지원합니다. 사용자 지정 그림자 효과의 경우 DropShadow를 사용할 수 있습니다.

팝업의 ThemeShadows

Popup의 XAML 요소에 ThemeShadow를 적용하면 자동으로 그림자가 생깁니다. 뒤에 있는 앱 배경 콘텐츠와 그 아래에서 열린 다른 모든 팝업에 그림자를 적용합니다.

Popups와 함께 ThemeShadow를 사용하려면 UIElement.Shadow 속성을 사용하여 XAML 요소에 ThemeShadow를 적용합니다. 그런 다음, 예를 들어 UIElement.Translation 속성의 z 구성 요소를 사용하여 요소를 뒤에 있는 다른 요소에서 승격합니다. 대부분의 팝업 UI에는 앱 배경 콘텐츠를 기준으로 기본 승격인 32 유효 픽셀을 사용하는 것이 좋습니다.

다른 요소의 ThemeShadow

Popup에 없는 XAML 요소에서 그림자를 캐스팅하려면 ThemeShadow.Receivers 컬렉션에서 그림자를 받을 수 있는 다른 요소를 명시적으로 지정해야 합니다. 그림자를 받는 항목은 시각적 트리에서 그림자를 적용하는 항목의 상위 항목이 될 수 없습니다.

ThemeShadow의 성능 모범 사례

  1. 사용자 지정 그림자를 받는 항목 요소 수를 필요한 최솟값으로 제한합니다.

  2. 여러 수신기 요소가 동일한 권한 상승에 있는 경우 대신 단일 부모 요소를 대상으로 하여 결합해 봅니다.

  3. 여러 요소가 동일한 그림자를 받는 항목 요소에 같은 유형의 그림자를 적용하는 경우, 그림자를 공유 리소스로 추가하고 재사용합니다.

생성자

ThemeShadow()

ThemeShadow 클래스의 새 instance 초기화합니다.

속성

Dispatcher

이 개체가 연결된 CoreDispatcher 를 가져옵니다. CoreDispatcher는 코드가 비 UI 스레드에서 시작된 경우에도 UI 스레드에서 DependencyObject에 액세스할 수 있는 기능을 나타냅니다.

(다음에서 상속됨 DependencyObject)
Receivers

이 ThemeShadow가 캐스팅되는 UI 요소의 컬렉션을 가져옵니다.

메서드

ClearValue(DependencyProperty)

종속성 속성의 로컬 값을 지웁니다.

(다음에서 상속됨 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

애니메이션이 활성화되지 않은 경우 적용되는 종속성 속성에 대해 설정된 모든 기본 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
GetValue(DependencyProperty)

DependencyObject에서 종속성 속성의 현재 유효 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
ReadLocalValue(DependencyProperty)

로컬 값이 설정된 경우 종속성 속성의 로컬 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

DependencyObject instance 특정 DependencyProperty의 변경 내용을 수신 대기하기 위한 알림 함수를 등록합니다.

(다음에서 상속됨 DependencyObject)
SetValue(DependencyProperty, Object)

DependencyObject에서 종속성 속성의 로컬 값을 설정합니다.

(다음에서 상속됨 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

RegisterPropertyChangedCallback을 호출하여 이전에 등록된 변경 알림을 취소합니다.

(다음에서 상속됨 DependencyObject)

적용 대상

추가 정보