SystemBackdrop Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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 :
- l’environnement/la stratégie défini via SystemBackdropConfiguration
- les paramètres d’apparence du matériau, exposés via des propriétés générales telles que ISystemBackdropControllerWithTargets.State (
Active
/Fallback
/HighContrast
) et des propriétés spécifiques au matériau telles que MicaController.Kind ().Base
/BaseAlt
Les contrôleurs intégrés (MicaController et DesktopAcrylicController) prennent en charge les paramètres suivants pour personnaliser leur apparence : FallbackColor
, LuminosityOpacity
, TintColor
et 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 |
Propriétés
Dispatcher |
Retourne |
DispatcherQueue |
Obtient le |
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 |
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 |
OnTargetConnected(ICompositionSupportsSystemBackdrop, XamlRoot) |
Appelé lorsque cet objet est attaché à un conteneur valide ; par exemple, quand il est défini sur |
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) |