Partage via


ThemeShadow Classe

Définition

Un ThemeShadow est un effet d’ombre préconfiguré qui peut être appliqué à n’importe quel élément XAML pour dessiner des ombres en fonction des coordonnées x, y et z. Par ailleurs, ThemeShadow s’ajuste automatiquement en fonction d’autres spécifications environnementales :

  • S’adapte aux changements liés à l’éclairage, au thème de l’utilisateur, à l’environnement d’application et au shell.
  • Éléments d’ombres automatiquement en fonction de leur élévation.
  • Assure la synchronisation des éléments à mesure qu’ils se déplacent et changent d’élévation.
  • Garantit des ombres cohérentes dans et entre les applications.
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 524288)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ThemeShadow : Shadow
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 524288)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class ThemeShadow : Shadow
Public Class ThemeShadow
Inherits Shadow
Héritage
Object IInspectable DependencyObject Shadow ThemeShadow
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10, version 1903 (introduit dans 10.0.18362.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v8.0)

Exemples

Conseil

Pour plus d’informations, des conseils de conception et des exemples de code, consultez Profondeur Z et ombre.

De nombreux contrôles courants projettent automatiquement des ombres à l’aide de ThemeShadow.

Si l’application WinUI 2 Gallery est installée et que vous répondez aux exigences minimales de version Windows 10 ci-dessus, cliquez ici pour ouvrir l’application et voir ThemeShadow en action sur les contrôles courants.

Remarques

Conseil

Pour plus d’informations, des conseils de conception et des exemples de code, consultez Profondeur Z et ombre.

Un ThemeShadow peut être appliqué à n’importe quel élément XAML pour dessiner des ombres basées sur les coordonnées x, y et z relatives entre un uiElement de castre conceptuel et un ou plusieurs UIElements récepteurs sur lesquels l’ombre du castteur est rendue.

ThemeShadow prend uniquement en charge les ombres rectangulaires. Pour les effets d’ombre personnalisés, vous pouvez utiliser dropShadow.

ThemeShadows dans les fenêtres contextuelles

ThemeShadow projette automatiquement des ombres lorsqu’il est appliqué à un élément XAML dans un Popup. Il projette des ombres sur le contenu en arrière-plan de l’application (derrière l’élément) et sur toute autre fenêtre contextuelle ouverte en dessous de l’élément.

Pour utiliser ThemeShadow avec des fenêtres contextuelles, utilisez la propriété UIElement.Shadow pour appliquer un ThemeShadow à un élément XAML. Ensuite, élevez l’élément d’autres éléments derrière lui, par exemple en utilisant le composant z de la propriété UIElement.Translation . Pour la plupart des interfaces utilisateur avec des fenêtres contextuelles, l’élévation par défaut recommandée par rapport au contenu en arrière-plan de l’application est de 32 pixels effectifs.

ThemeShadow dans d’autres éléments

Pour projeter une ombre à partir d’un élément XAML qui n’est pas dans une fenêtre contextuelle, vous devez spécifier explicitement les autres éléments qui peuvent recevoir l’ombre dans la collection ThemeShadow.Receivers . Un receveur ne peut pas être un ancêtre du projeteur d’ombre dans l’arborescence d’éléments visuels.

Bonnes pratiques liées aux performances de ThemeShadow

  1. Limitez le nombre d’éléments récepteurs personnalisés au minimum nécessaire.

  2. Si plusieurs éléments récepteurs se trouvent à la même élévation, essayez de les combiner en ciblant un seul élément parent à la place.

  3. Si plusieurs éléments projettent le même type d’ombre sur les mêmes éléments récepteurs, ajoutez l’ombre en tant que ressource partagée et réutilisez-la.

Constructeurs

ThemeShadow()

Initialise une nouvelle instance de la classe ThemeShadow.

Propriétés

Dispatcher

Obtient le CoreDispatcher auquel cet objet est associé. CoreDispatcher représente une fonctionnalité qui peut accéder à 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)
Receivers

Obtient une collection d’éléments d’interface utilisateur sur 2000 dont ce ThemeShadow est casté.

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)
GetValue(DependencyProperty)

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

(Hérité de DependencyObject)
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