Partager via


SystemBackdrop Classe

Définition

Classe de base pour les arrière-plans système personnalisés utilisés pour restituer des matériaux tels que Mica et Acrylique.

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
Héritage
Object Platform::Object IInspectable DependencyObject SystemBackdrop
Dérivé
Attributs

Exemples

Cet exemple montre une classe de toile de fond système personnalisée implémentée à l’aide de MicaController.

L’appel de la méthode onTargetConnected de base initialise l’objet de configuration par défaut retourné par GetDefaultSystemBackdropConfiguration pour refléter les modifications d’environnement qui affectent ce SystemBackdrop instance (spécifié par connectedTarget, XamlRoot).

Bien que l’exemple de cette page ne prend pas en charge les instances de partage MicaSystemBackdrop (par exemple, Window1.SystemBackdrop = Window2.SystemBackdrop = myMicaSystemBackdrop), ce partage est possible et est pris en MicaBackdrop charge par les matériaux et DesktopAcrylicBackdrop intégrés. Pour implémenter le partage dans un matériel personnalisé, vectorisez le stockage ISystemBackdropController de sauvegarde afin de conserver un instance distinct pour chaque contexte d’utilisation (par exemple, via une carte clé sur connectedTarget). Notez que vectorise de la même façon les objets de configuration par défaut associés retournés par GetDefaultSystemBackdropConfiguration, en veillant à ce que SystemBackdrop la configuration reflète chaque contexte d’utilisation quand SystemBackdrop est partagé.

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

Remarques

Utilisez cette classe pour créer un arrière-plan système personnalisé. Vous ne créez pas cette classe directement (notez le constructeur protégé). Au lieu de cela, sous-classez-le afin d’ajouter votre support personnalisé. Vous pouvez également utiliser l’une des classes dérivées intégrées, MicaBackdrop et DesktopAcrylicBackdrop.

En règle générale, le matériel personnalisé remplace OnTargetConnected pour créer et configurer un ISystemBackdropController de stockage, qui gérera la CompositionBrush utilisée pour remplir la zone de fond. Le rendu ultime des pixels du pinceau est affecté par :

Les contrôleurs intégrés (MicaController et DesktopAcrylicController) prennent en charge les paramètres suivants pour personnaliser leur apparence : FallbackColor, LuminosityOpacity, TintColoret TintOpacity. Les arrière-plan système intégrés (MicaBackdrop et DesktopAcrylicBackdrop) n’exposent FallbackColor pas ni les propriétés de personnalisation du matériel (TintOpacity, etc.). Au lieu de cela, ils s’appuient sur les configurations clair/sombre par défaut des sous-jacents MicaController et DesktopAcrylicController. Pour personnaliser ces propriétés, créez une classe de matériau personnalisée qui dérive des SystemBackdrop propriétés souhaitées et les expose.

Constructeurs

SystemBackdrop()

Initialise une nouvelle instance de la classe SystemBackdrop.

Propriétés

Dispatcher

Retourne null toujours dans une application SDK d'application Windows. Utilisez DispatcherQueue à la place.

(Hérité de DependencyObject)
DispatcherQueue

Obtient le DispatcherQueue auquel cet objet est associé. représente DispatcherQueue une fonctionnalité qui peut accéder au DependencyObject sur le thread d’interface utilisateur, même si le code est initié par un thread autre que l’interface utilisateur.

(Hérité de DependencyObject)

Méthodes

ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété de dépendance.

(Hérité de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Retourne toute valeur de base établie pour une propriété de dépendance, qui s’appliquerait dans les cas où une animation n’est pas active.

(Hérité de DependencyObject)
GetDefaultSystemBackdropConfiguration(ICompositionSupportsSystemBackdrop, XamlRoot)

Récupère un objet par défaut SystemBackdropConfiguration qui peut être passé à ISystemBackdropControllerWithTargets.SetSystemBackdropConfiguration.

GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un DependencyObject.

(Hérité de DependencyObject)
OnDefaultSystemBackdropConfigurationChanged(ICompositionSupportsSystemBackdrop, XamlRoot)

Remplacez cette méthode à appeler lorsque l’objet retourné par GetDefaultSystemBackdropConfiguration change. Cela est utile si vous utilisez un personnalisé SystemBackdropConfiguration.

OnTargetConnected(ICompositionSupportsSystemBackdrop, XamlRoot)

Appelé lorsque cet objet est attaché à un conteneur valide ; par exemple, quand il est défini sur Window.SystemBackdrop.

OnTargetDisconnected(ICompositionSupportsSystemBackdrop)

Appelé lorsque cet objet est effacé de son conteneur.

ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie.

(Hérité de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Inscrit une fonction de notification pour écouter les modifications apportées à un DependencyProperty spécifique sur ce instance DependencyObject.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance sur un DependencyObject.

(Hérité de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annule une notification de modification précédemment inscrite en appelant RegisterPropertyChangedCallback.

(Hérité de DependencyObject)

S’applique à

Voir aussi