Langage

SystemBackdrop Classe

Définition

Classe de base pour les toiles de fond système personnalisées utilisées 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 contexte 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 cette SystemBackdrop instance (spécifiée 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 les matériaux intégrés. Pour implémenter le partage dans un matériau personnalisé, vectorisez le stockage ISystemBackdropController de stockage pour conserver une instance distincte pour chaque contexte d’utilisation (par exemple, via une carte clé sur connectedTarget). Notez que de même vectorise les objets de configuration par défaut associés retournés par GetDefaultSystemBackdropConfiguration, ce qui garantit que SystemBackdrop la configuration reflète chaque contexte d’utilisation lorsqu’il 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-la pour 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ériau personnalisé remplace OnTargetConnected pour créer et configurer un ISystemBackdropController de stockage, qui gère la compositionBrush utilisée pour remplir la zone de fond. Le rendu de pixel ultime 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, , TintColorLuminosityOpacity, et TintOpacity. Les toiles de fond système intégrées (MicaBackdrop et DesktopAcrylicBackdrop) n’exposent FallbackColor pas ni les propriétés de personnalisation matérielle (TintOpacityetc.). Au lieu de cela, ils s’appuient sur les configurations Light/Dark par défaut du sous-jacent MicaController et DesktopAcrylicController. Pour personnaliser ces propriétés, créez une classe de matériau personnalisée qui dérive et SystemBackdrop expose les propriétés souhaitées.

Constructeurs

Nom Description
SystemBackdrop()

Initialise une nouvelle instance de la classe SystemBackdrop.

Propriétés

Nom Description
Dispatcher

Retourne null toujours dans une application du Kit de développement logiciel (SDK) d’application Windows. Utilisez DispatcherQueue à la place.

(Hérité de DependencyObject)
DispatcherQueue

Obtient le DispatcherQueue résultat auquel cet objet est associé. Représente DispatcherQueue une installation qui peut accéder au DependencyObject thread d’interface utilisateur même si le code est initié par un thread non-interface utilisateur.

(Hérité de DependencyObject)

Méthodes

Nom Description
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’applique 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 pour qu’elle soit appelée lorsque l’objet retourné par GetDefaultSystemBackdropConfiguration des modifications. Cela est utile si vous utilisez un fichier personnalisé SystemBackdropConfiguration.

OnTargetConnected(ICompositionSupportsSystemBackdrop, XamlRoot)

Appelé lorsque cet objet est attaché à un conteneur valide ; par exemple, lorsqu’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 à une dependencyProperty spécifique sur cette 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 qui a été précédemment inscrite en appelant RegisterPropertyChangedCallback.

(Hérité de DependencyObject)

S’applique à

Voir aussi