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 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
- 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 :
- 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 comme 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, , 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 |
Propriétés
| Nom | Description |
|---|---|
| Dispatcher |
Retourne |
| DispatcherQueue |
Obtient le |
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 |
| 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 |
| OnTargetConnected(ICompositionSupportsSystemBackdrop, XamlRoot) |
Appelé lorsque cet objet est attaché à un conteneur valide ; par exemple, lorsqu’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 à 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) |