SystemBackdrop.OnDefaultSystemBackdropConfigurationChanged Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Substitua esse método a ser chamado quando o objeto retornado por GetDefaultSystemBackdropConfiguration
alterações. Isso será útil se você estiver usando um personalizado 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)
Parâmetros
O alvo do pano de fundo.
- xamlRoot
- XamlRoot
A raiz XAML do destino do pano de fundo.
Exemplos
Este exemplo mostra uma classe de pano de fundo do sistema personalizada implementada usando MicaController. O OnDefaultSystemBackdropConfigurationChanged
método é substituído e, nele, a configuração Theme
é definida como sempre leve.
Por exemplo, se o tema do sistema for alterado de Claro para Escuro enquanto o aplicativo estiver em execução, esse método será chamado e o tema de pano de fundo será definido como Claro em vez de mudar para Escuro com o tema do sistema.
<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);
}
}
Comentários
Esse método é útil quando você implementa um SystemBackdropConfiguration personalizado que incorpora alguns dos estados de propriedade controlados, mas é diferente de alguma forma da política padrão.
Em vez de aplicar a configuração de cenário padrão obtida de GetDefaultSystemBackdropConfiguration (passando-a para SetSystemBackdropConfiguration), substitua OnDefaultSystemBackdropConfigurationChanged
. Quando há uma alteração na política padrão (como quando um usuário altera o tema do sistema de Claro para Escuro), esse método é chamado. Nesse método, crie um novo objeto SystemBackdropConfiguration e defina suas propriedades conforme necessário. Em seguida, passe o modificado SystemBackdropConfiguration
para SetSystemBackdropConfiguration.