SystemBackdrop.OnDefaultSystemBackdropConfigurationChanged 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
에서 반환된 개체가 변경될 때 호출되도록 이 메서드를 GetDefaultSystemBackdropConfiguration
재정의합니다. 이는 사용자 지정 SystemBackdropConfiguration
를 사용하는 경우에 유용합니다.
protected:
virtual void OnDefaultSystemBackdropConfigurationChanged(ICompositionSupportsSystemBackdrop ^ target, XamlRoot ^ xamlRoot) = OnDefaultSystemBackdropConfigurationChanged;
void OnDefaultSystemBackdropConfigurationChanged(ICompositionSupportsSystemBackdrop const& target, XamlRoot const& xamlRoot);
protected virtual void OnDefaultSystemBackdropConfigurationChanged(ICompositionSupportsSystemBackdrop target, XamlRoot xamlRoot);
function onDefaultSystemBackdropConfigurationChanged(target, xamlRoot)
Protected Overridable Sub OnDefaultSystemBackdropConfigurationChanged (target As ICompositionSupportsSystemBackdrop, xamlRoot As XamlRoot)
매개 변수
배경의 대상입니다.
- xamlRoot
- XamlRoot
배경 대상의 XAML 루트입니다.
예제
이 예제에서는 MicaController를 사용하여 구현된 사용자 지정 시스템 배경 클래스를 보여 줍니다. 메서드가 OnDefaultSystemBackdropConfigurationChanged
재정의되고 구성이 Theme
항상 밝게 설정됩니다.
예를 들어 앱이 실행되는 동안 시스템 테마가 밝게에서 어둡게로 변경되면 이 메서드가 호출되고 배경 테마가 시스템 테마를 사용하여 어둡게로 변경되지 않고 다시 밝게 설정됩니다.
<Window
... >
<Window.SystemBackdrop>
<local:MicaLightSystemBackdrop/>
</Window.SystemBackdrop>
<!-- XAML content -->
</Window>
public class MicaLightSystemBackdrop : SystemBackdrop
{
MicaController micaController;
protected override void OnTargetConnected(ICompositionSupportsSystemBackdrop connectedTarget, XamlRoot xamlRoot)
{
base.OnTargetConnected(connectedTarget, xamlRoot);
if (micaController is not null)
{
throw new Exception("This controller cannot be shared");
}
micaController = new MicaController();
//_ = GetDefaultSystemBackdropConfiguration(connectedTarget, xamlRoot);
micaController.AddSystemBackdropTarget(connectedTarget);
}
protected override void OnTargetDisconnected(ICompositionSupportsSystemBackdrop disconnectedTarget)
{
base.OnTargetDisconnected(disconnectedTarget);
micaController.RemoveSystemBackdropTarget(disconnectedTarget);
micaController = null;
}
protected override void OnDefaultSystemBackdropConfigurationChanged(ICompositionSupportsSystemBackdrop target, XamlRoot xamlRoot)
{
SystemBackdropConfiguration config = new SystemBackdropConfiguration();
config.Theme = SystemBackdropTheme.Light;
micaController.SetSystemBackdropConfiguration(config);
}
}
설명
이 메서드는 추적된 속성 상태 중 일부를 통합하지만 기본 정책과 어떤 식으로든 다른 사용자 지정 SystemBackdropConfiguration 을 구현할 때 유용합니다.
GetDefaultSystemBackdropConfiguration에서 가져온 기본 배경 구성을 적용하는 대신(SetSystemBackdropConfiguration에 전달) 를 재정OnDefaultSystemBackdropConfigurationChanged
의합니다. 기본 정책이 변경되면(예: 사용자가 시스템 테마를 밝게에서 어둡게로 변경하는 경우) 이 메서드가 호출됩니다. 이 메서드에서 새 SystemBackdropConfiguration 개체를 만들고 필요에 따라 속성을 설정합니다. 그런 다음 수정된 SystemBackdropConfiguration
를 SetSystemBackdropConfiguration에 전달합니다.