Freigeben über


ThemeShadow Klasse

Definition

Ein ThemeShadow ist ein vorkonfigurter Schatteneffekt, der auf jedes XAML-Element angewendet werden kann, um Schatten basierend auf x-, y- und z-Koordinaten entsprechend zu zeichnen. ThemeShadow passt sich außerdem automatisch an andere Umgebungsspezifikationen an:

  • Passt sich an Änderungen von Beleuchtung, Benutzerdesign, App-Umgebung und Shell an.
  • Schattenelemente automatisch basierend auf ihrer Höhe.
  • Hält Elemente bei Bewegungen und Änderungen der Hervorhebung synchron.
  • Hält Schatten innerhalb der Anwendung und anwendungsübergreifend konsistent.
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [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(Microsoft.UI.Xaml.WinUIContract), 65536)]
[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
Vererbung
Object IInspectable DependencyObject Shadow ThemeShadow
Attribute

Beispiele

Tipp

Weitere Informationen, Entwurfsleitfäden und Codebeispiele finden Sie unter Z-Tiefe und Schatten.

Hinweise

Tipp

Weitere Informationen, Entwurfsleitfäden und Codebeispiele finden Sie unter Z-Tiefe und Schatten.

Ein ThemeShadow kann auf jedes XAML-Element angewendet werden, um Schatten basierend auf den relativen x-, y- und z-Koordinaten zwischen einer konzeptionellen Caster-UIElement und einem oder mehreren Empfänger-UIElements zu zeichnen, bei denen der Schatten des Casters darauf gerendert wird.

ThemeShadow unterstützt nur rechteckige Schatten. Für benutzerdefinierte Schatteneffekte können Sie dropShadow verwenden.

ThemeShadows in Popups

ThemeShadow wirft automatisch Schatten, wenn es auf ein beliebiges XAML-Element in einem Popup angewendet wird. Es wirft Schatten auf die Hintergrundinhalte der App hinter ihm und alle anderen geöffneten Popups unter ihm.

Um ThemeShadow mit Popups zu verwenden, verwenden Sie die UIElement.Shadow-Eigenschaft , um ein ThemeShadow auf ein XAML-Element anzuwenden. Erhöhen Sie dann das Element von anderen Elementen dahinter, z. B. mithilfe der z-Komponente der UIElement.Translation-Eigenschaft . Für den größten Teil von Popup-UI beträgt die empfohlene Standardhervorhebung relativ zum Inhalt des App-Hintergrunds 32 effektive Pixel.

ThemeShadow in anderen Elementen

Um einen Schatten aus einem XAML-Element zu werfen, das sich nicht in einem Popup befindet, müssen Sie explizit die anderen Elemente angeben, die den Schatten in der ThemeShadow.Receivers-Auflistung empfangen können. Als Empfänger kommt kein Vorgänger des werfenden Elements in der visuellen Baumstruktur in Frage.

Bewährte Methoden zur Leistungssteigerung für ThemeShadow

  1. Schränken Sie die Anzahl der benutzerdefinierten Empfängerelemente auf das erforderliche Minimum ein.

  2. Wenn sich mehrere Empfängerelemente auf derselben Höhe befinden, versuchen Sie, sie zu kombinieren, indem Sie stattdessen auf ein einzelnes übergeordnetes Element abzielen.

  3. Wenn mehrere Elemente die gleiche Art Schatten auf die gleichen Empfängerelemente werfen, fügen Sie den Schatten als freigegebene Ressource hinzu, und verwenden Sie ihn erneut.

Konstruktoren

ThemeShadow()

Initialisiert eine neue instance der ThemeShadow-Klasse.

Eigenschaften

Dispatcher

Gibt immer in einer Windows App SDK-App zurücknull. Verwenden Sie stattdessen DispatcherQueue .

(Geerbt von DependencyObject)
DispatcherQueue

Ruft den DispatcherQueue ab, dem dieses Objekt zugeordnet ist. Stellt DispatcherQueue eine Funktion dar, die auf den DependencyObject im UI-Thread zugreifen kann, auch wenn der Code von einem Nicht-UI-Thread initiiert wird.

(Geerbt von DependencyObject)
Receivers

Ruft eine Auflistung von Ui-Elementen ab, für die dieser ThemeShadow umgewandelt wird.

Methoden

ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Abhängigkeitseigenschaft.

(Geerbt von DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Gibt einen beliebigen Basiswert zurück, der für eine Abhängigkeitseigenschaft festgelegt wurde, was in Fällen gilt, in denen eine Animation nicht aktiv ist.

(Geerbt von DependencyObject)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft aus einem DependencyObject zurück.

(Geerbt von DependencyObject)
ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn ein lokaler Wert festgelegt ist.

(Geerbt von DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registriert eine Benachrichtigungsfunktion zum Lauschen auf Änderungen an einer bestimmten DependencyProperty für dieses DependencyObject-instance.

(Geerbt von DependencyObject)
SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft für ein DependencyObject fest.

(Geerbt von DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Bricht eine Änderungsbenachrichtigung ab, die zuvor registriert wurde, indem RegisterPropertyChangedCallback aufgerufen wurde.

(Geerbt von DependencyObject)

Gilt für:

Weitere Informationen