ThemeShadow Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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
Schränken Sie die Anzahl der benutzerdefinierten Empfängerelemente auf das erforderliche Minimum ein.
Wenn sich mehrere Empfängerelemente auf derselben Höhe befinden, versuchen Sie, sie zu kombinieren, indem Sie stattdessen auf ein einzelnes übergeordnetes Element abzielen.
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ück |
DispatcherQueue |
Ruft den |
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) |