SystemBackdrop Classe
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.
Classe base para cenários personalizados do sistema usados para renderizar materiais como Mica e Acrílico.
public ref class SystemBackdrop : DependencyObject
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SystemBackdrop : DependencyObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class SystemBackdrop : DependencyObject
Public Class SystemBackdrop
Inherits DependencyObject
- Herança
- Derivado
- Atributos
Exemplos
Este exemplo mostra uma classe de pano de fundo do sistema personalizada implementada usando MicaController.
Chamar o método base OnTargetConnected inicializa o objeto de configuração padrão retornado por GetDefaultSystemBackdropConfiguration para refletir as alterações de ambiente que afetam essa SystemBackdrop
instância (especificada por connectedTarget, XamlRoot
).
Embora o exemplo nesta página não dê suporte a instâncias de compartilhamento MicaSystemBackdrop
(por exemplo, Window1.SystemBackdrop = Window2.SystemBackdrop = myMicaSystemBackdrop
), esse compartilhamento é possível e é compatível com os MicaBackdrop
materiais internos e DesktopAcrylicBackdrop
. Para implementar o compartilhamento em um material personalizado, vetorize o armazenamento ISystemBackdropController de suporte para manter uma instância separada para cada contexto de uso (por exemplo, por meio de um mapa com chave no connectedTarget
). Observe que SystemBackdrop
, da mesma forma, vetoriza os objetos de configuração padrão associados retornados por GetDefaultSystemBackdropConfiguration, garantindo que a configuração reflita cada contexto de uso quando SystemBackdrop
é compartilhada.
<Window
... >
<Window.SystemBackdrop>
<local:MicaSystemBackdrop/>
</Window.SystemBackdrop>
<!-- XAML content -->
</Window>
public class MicaSystemBackdrop : SystemBackdrop
{
MicaController micaController;
protected override void OnTargetConnected(ICompositionSupportsSystemBackdrop connectedTarget, XamlRoot xamlRoot)
{
// Call the base method to initialize the default configuration object.
base.OnTargetConnected(connectedTarget, xamlRoot);
// This example does not support sharing MicaSystemBackdrop instances.
if (micaController is not null)
{
throw new Exception("This controller cannot be shared");
}
micaController = new MicaController();
// Set configuration.
SystemBackdropConfiguration defaultConfig = GetDefaultSystemBackdropConfiguration(connectedTarget, xamlRoot);
micaController.SetSystemBackdropConfiguration(defaultConfig);
// Add target.
micaController.AddSystemBackdropTarget(connectedTarget);
}
protected override void OnTargetDisconnected(ICompositionSupportsSystemBackdrop disconnectedTarget)
{
base.OnTargetDisconnected(disconnectedTarget);
micaController.RemoveSystemBackdropTarget(disconnectedTarget);
micaController = null;
}
}
Comentários
Use essa classe para criar um cenário de sistema personalizado. Você não cria essa classe diretamente (observe o construtor protegido). Em vez disso, subclasse-a para adicionar seu suporte personalizado. Você também pode usar uma das classes derivadas internas, MicaBackdrop e DesktopAcrylicBackdrop.
Geralmente, o material personalizado substitui OnTargetConnected para criar e configurar um ISystemBackdropController de suporte, que gerenciará o CompositionBrush usado para preencher a região de pano de fundo. A renderização de pixel final do pincel é afetada por:
- o ambiente/conjunto de políticas por meio de SystemBackdropConfiguration
- os parâmetros de aparência do material, expostos por meio de propriedades gerais como ISystemBackdropControllerWithTargets.State (
Active
/Fallback
/HighContrast
) e propriedades específicas do material, como MicaController.Kind ().Base
/BaseAlt
Os controladores internos (MicaController e DesktopAcrylicController) dão suporte aos seguintes parâmetros para personalizar sua aparência: FallbackColor
, LuminosityOpacity
, TintColor
e TintOpacity
. Os cenários internos do sistema (MicaBackdrop e DesktopAcrylicBackdrop) não expõem FallbackColor
nem as propriedades de personalização de material (TintOpacity
etc. Em vez disso, eles dependem das configurações padrão de Claro/Escuro do subjacente MicaController
e DesktopAcrylicController
do . Para personalizar essas propriedades, crie uma classe de material personalizada que deriva SystemBackdrop
de e exponha as propriedades desejadas.
Construtores
SystemBackdrop() |
Inicializa uma nova instância da classe |
Propriedades
Dispatcher |
Sempre retorna |
DispatcherQueue |
Obtém o ao |
Métodos
ClearValue(DependencyProperty) |
Limpa o valor local de uma propriedade de dependência. (Herdado de DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Retorna qualquer valor base estabelecido para uma propriedade de dependência, que se aplicaria nos casos em que uma animação não está ativa. (Herdado de DependencyObject) |
GetDefaultSystemBackdropConfiguration(ICompositionSupportsSystemBackdrop, XamlRoot) |
Recupera um objeto padrão |
GetValue(DependencyProperty) |
Retorna o valor efetivo atual de uma propriedade de dependência de um DependencyObject. (Herdado de DependencyObject) |
OnDefaultSystemBackdropConfigurationChanged(ICompositionSupportsSystemBackdrop, XamlRoot) |
Substitua esse método a ser chamado quando o objeto retornado por |
OnTargetConnected(ICompositionSupportsSystemBackdrop, XamlRoot) |
Chamado quando esse objeto é anexado a um contêiner válido; por exemplo, quando definido em |
OnTargetDisconnected(ICompositionSupportsSystemBackdrop) |
Chamado quando esse objeto é desmarcado de seu contêiner. |
ReadLocalValue(DependencyProperty) |
Retorna o valor local de uma propriedade de dependência, se um valor local for definido. (Herdado de DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Registra uma função de notificação para escutar alterações em uma DependencyProperty específica nesta instância dependencyObject . (Herdado de DependencyObject) |
SetValue(DependencyProperty, Object) |
Define o valor local de uma propriedade de dependência em um DependencyObject. (Herdado de DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Cancela uma notificação de alteração que foi registrada anteriormente chamando RegisterPropertyChangedCallback. (Herdado de DependencyObject) |