Compartir a través de


SystemBackdrop Clase

Definición

Clase base para los fondos del sistema personalizados que se usan para representar materiales como Mica y Acrylic.

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
Herencia
Object Platform::Object IInspectable DependencyObject SystemBackdrop
Derivado
Atributos

Ejemplos

En este ejemplo se muestra una clase de fondo del sistema personalizada que se implementa mediante MicaController.

Al llamar al método OnTargetConnected base, se inicializa el objeto de configuración predeterminado devuelto por GetDefaultSystemBackdropConfiguration para reflejar los cambios de entorno que afectan a esta SystemBackdrop instancia (especificada por connectedTarget, XamlRoot).

Aunque el ejemplo de esta página no admite el uso compartido MicaSystemBackdrop de instancias (por ejemplo, Window1.SystemBackdrop = Window2.SystemBackdrop = myMicaSystemBackdrop), este uso compartido es posible y es compatible con los materiales y DesktopAcrylicBackdrop integradosMicaBackdrop. Para implementar el uso compartido en un material personalizado, vectorice el almacenamiento ISystemBackdropController de respaldo para mantener una instancia independiente para cada contexto de uso (por ejemplo, a través de una asignación con clave en connectedTarget). Tenga en cuenta que, de forma similar, vectoriza los objetos de configuración predeterminados asociados devueltos por GetDefaultSystemBackdropConfiguration, lo que garantiza que SystemBackdrop la configuración refleje cada contexto de uso cuando SystemBackdrop se comparte.

<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;
    }
}

Comentarios

Use esta clase para crear un telón de fondo del sistema personalizado. Esta clase no se crea directamente (tenga en cuenta el constructor protegido). En su lugar, la subclase para agregar la compatibilidad personalizada. También puede usar una de las clases derivadas integradas, MicaBackdrop y DesktopAcrylicBackdrop.

Por lo general, el material personalizado invalida OnTargetConnected para crear y configurar un ISystemBackdropController de respaldo, que administrará el CompositionBrush usado para rellenar la región de fondo. La representación definitiva de píxeles del pincel se ve afectada por:

Los controladores integrados (MicaController y DesktopAcrylicController) admiten los parámetros siguientes para personalizar su apariencia: FallbackColor, LuminosityOpacity, TintColory TintOpacity. Los fondos del sistema integrados (MicaBackdrop y DesktopAcrylicBackdrop) no exponen FallbackColor ni las propiedades de personalización del material (TintOpacity, etc.). En su lugar, se basan en las configuraciones predeterminadas claro/oscuro de los subyacentes MicaController y DesktopAcrylicController. Para personalizar estas propiedades, cree una clase de material personalizada que derive de SystemBackdrop y exponga las propiedades deseadas.

Constructores

SystemBackdrop()

Inicializa una nueva instancia de la clase SystemBackdrop.

Propiedades

Dispatcher

Siempre devuelve null en una aplicación de SDK de Aplicaciones para Windows. Use DispatcherQueue en su lugar.

(Heredado de DependencyObject)
DispatcherQueue

Obtiene el objeto DispatcherQueue al que está asociado este objeto. DispatcherQueue representa una instalación que puede acceder al DependencyObject en el subproceso de interfaz de usuario incluso si un subproceso que no es de interfaz de usuario inicia el código.

(Heredado de DependencyObject)

Métodos

ClearValue(DependencyProperty)

Borra el valor local de una propiedad de dependencia.

(Heredado de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Devuelve cualquier valor base establecido para una propiedad de dependencia, que se aplicaría en los casos en los que una animación no está activa.

(Heredado de DependencyObject)
GetDefaultSystemBackdropConfiguration(ICompositionSupportsSystemBackdrop, XamlRoot)

Recupera un objeto predeterminado SystemBackdropConfiguration que se puede pasar a ISystemBackdropControllerWithTargets.SetSystemBackdropConfiguration.

GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia de dependencyObject.

(Heredado de DependencyObject)
OnDefaultSystemBackdropConfigurationChanged(ICompositionSupportsSystemBackdrop, XamlRoot)

Invalide este método al que se llamará cuando cambie el objeto devuelto por GetDefaultSystemBackdropConfiguration . Esto es útil si usa un personalizado SystemBackdropConfiguration.

OnTargetConnected(ICompositionSupportsSystemBackdrop, XamlRoot)

Se llama cuando este objeto está asociado a un contenedor válido; por ejemplo, cuando se establece en Window.SystemBackdrop.

OnTargetDisconnected(ICompositionSupportsSystemBackdrop)

Se llama cuando este objeto se borra de su contenedor.

ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si se establece un valor local.

(Heredado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una función de notificación para escuchar los cambios en una dependencyProperty específica en esta instancia de DependencyObject .

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia en dependencyObject.

(Heredado de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela una notificación de cambio registrada anteriormente llamando a RegisterPropertyChangedCallback.

(Heredado de DependencyObject)

Se aplica a

Consulte también