Condividi tramite


ThemeShadow Classe

Definizione

ThemeShadow è un effetto ombreggiatura preconfigurato che può essere applicato a qualsiasi elemento XAML per disegnare le ombreggiature in modo appropriato in base alle coordinate x, y e z. ThemeShadow si adatta automaticamente anche in base ad altre specifiche ambientali:

  • Si adatta alle variazioni di illuminazione, tema utente, ambiente dell'app e shell.
  • Gli elementi ombreggiatura vengono automaticamente basati sull'elevazione.
  • Mantiene sincronizzati gli elementi in caso di spostamento e di modifica dell'elevazione.
  • Mantiene le ombreggiature coerenti in tutte le applicazioni.
/// [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
Ereditarietà
Object IInspectable DependencyObject Shadow ThemeShadow
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10, version 1903 (è stato introdotto in 10.0.18362.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v8.0)

Esempio

Suggerimento

Per altre info, linee guida per la progettazione ed esempi di codice, vedi Profondità e ombreggiatura Z.

Molti controlli comuni eseguano automaticamente il cast di ombreggiature usando ThemeShadow.

Se è installata l'app WinUI 2 Gallery e si soddisfano i requisiti minimi di versione Windows 10, fare clic qui per aprire l'app e vedere ThemeShadow in azione sui controlli comuni.

Commenti

Suggerimento

Per altre info, linee guida per la progettazione ed esempi di codice, vedi Profondità e ombreggiatura Z.

Un Oggetto ThemeShadow può essere applicato a qualsiasi elemento XAML per disegnare le ombreggiature in base alle coordinate x, y e z relative tra un uiElement caster concettuale e uno o più UIElement ricevitori che dispongono del rendering dell'ombreggiatura del caster.

ThemeShadow supporta solo ombre rettangolari. Per effetti di ombreggiatura personalizzati, è possibile usare dropShadow.

ThemeShadows in Popup

ThemeShadow crea automaticamente le ombreggiature se applicato a qualsiasi elemento XAML in un oggetto Popup. Creerà le ombreggiature per il contenuto di sfondo dell'app dietro di esso e per tutti gli altri popup aperti sotto di esso.

Per usare ThemeShadow con i popup, usa la proprietà UIElement.Shadow per applicare themeShadow a un elemento XAML. Elevare quindi l'elemento da altri elementi sottostanti, ad esempio usando il componente z della proprietà UIElement.Translation . Per la maggior parte dell'interfaccia utente popup, l'elevazione predefinita consigliata rispetto al contenuto di sfondo dell'app è di 32 pixel effettivi.

ThemeShadow in altri elementi

Per eseguire il cast di un'ombreggiatura da un elemento XAML che non si trova in un popup, devi specificare in modo esplicito gli altri elementi che possono ricevere l'ombreggiatura nell'insieme ThemeShadow.Receivers . I ricevitori non possono essere un predecessore del caster nell'albero visivo.

Procedure consigliate per le prestazioni per ThemeShadow

  1. Limita il numero di elementi ricevitore personalizzati al minimo necessario.

  2. Se più elementi ricevitore sono allo stesso livello di elevazione, provare a combinarli selezionando invece un singolo elemento padre.

  3. Se più elementi creano lo stesso tipo di ombreggiatura sugli stessi elementi ricevitore, aggiungi l'ombreggiatura come risorsa condivisa e riutilizzala.

Costruttori

ThemeShadow()

Inizializza una nuova istanza della classe ThemeShadow .

Proprietà

Dispatcher

Ottiene coreDispatcher a cui è associato questo oggetto. CoreDispatcher rappresenta una funzionalità che può accedere a DependencyObject nel thread dell'interfaccia utente anche se il codice viene avviato da un thread non dell'interfaccia utente.

(Ereditato da DependencyObject)
Receivers

Ottiene una raccolta di elementi dell'interfaccia utente su cui è stato eseguito il cast di ThemeShadow.

Metodi

ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà di dipendenza.

(Ereditato da DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Restituisce qualsiasi valore di base stabilito per una proprietà di dipendenza, che si applica nei casi in cui un'animazione non è attiva.

(Ereditato da DependencyObject)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza da dependencyObject.

(Ereditato da DependencyObject)
ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se è impostato un valore locale.

(Ereditato da DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una funzione di notifica per l'ascolto delle modifiche apportate a una dipendenza specifica in questa istanza di DependencyObject .

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza su dependencyObject.

(Ereditato da DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annulla una notifica di modifica registrata in precedenza chiamando RegisterPropertyChangedCallback.

(Ereditato da DependencyObject)

Si applica a

Vedi anche