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 vorkonfigurierter Schatteneffekt, der auf jedes XAML-Element angewendet werden kann, um Schatten entsprechend basierend auf x-, y-, Z-Koordinaten zu zeichnen. ThemeShadow passt sich auch automatisch an andere Umgebungsspezifikationen an:
- Passt sich an Änderungen an Beleuchtung, Benutzerdesign, App-Umgebung und Shell an.
- Schattenelemente werden automatisch basierend auf ihrer Höhe angezeigt.
- Hält Elemente synchronisiert, während sie sich bewegen und die Rechte ändern.
- Hält Schatten in allen Anwendungen 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
Tip
Weitere Informationen, Entwurfsanleitungen und Codebeispiele finden Sie unter Z-Tiefe und Schatten.
Hinweise
Tip
Weitere Informationen, Entwurfsanleitungen 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 einem konzeptionellen Caster-UIElement und einem oder mehreren Empfänger-UIElements zu zeichnen, auf denen der Schatten des Casters gerendert wird.
ThemeShadow unterstützt nur rechteckige Schatten. Für benutzerdefinierte Schatteneffekte können Sie einen DropShadow verwenden.
ThemeShadows in Popups
ThemeShadow wirft automatisch Schatten, wenn es auf ein beliebiges XAML-Element in einem Popup angewendet wird. Er wird Schatten auf den Hintergrundinhalt der App und alle anderen unten geöffneten Popups werfen.
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 die meisten Popup-UI beträgt die empfohlene Standardhöhe relativ zum App-Hintergrundinhalt 32 effektive Pixel.
ThemeShadow in anderen Elementen
Wenn Sie einen Schatten aus einem XAML-Element umwandeln möchten, 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. Empfänger können kein Vorfahre des Casters im visuellen Baum sein.
Bewährte Methoden für Die Leistung für ThemeShadow
Beschränken Sie die Anzahl der benutzerdefinierten Empfängerelemente auf das erforderliche Minimum.
Wenn sich mehrere Empfängerelemente in derselben Höhe befinden, versuchen Sie stattdessen, diese zu kombinieren, indem Sie stattdessen auf ein einzelnes übergeordnetes Element abzielen.
Wenn mehrere Elemente den gleichen Schattentyp in dieselben Empfängerelemente umwandeln, fügen Sie den Schatten als freigegebene Ressource hinzu und verwenden ihn wieder.
Konstruktoren
| Name | Beschreibung |
|---|---|
| ThemeShadow() |
Initialisiert eine neue Instanz der ThemeShadow-Klasse . |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Dispatcher |
Gibt immer in einer Windows App SDK-App zurück |
| DispatcherQueue |
Ruft ab |
| Receivers |
Ruft eine Auflistung von UI-Elementen ab, auf die dieses ThemeShadow umgeworfen wird. |
Methoden
| Name | Beschreibung |
|---|---|
| ClearValue(DependencyProperty) |
Löscht den lokalen Wert einer Abhängigkeitseigenschaft. (Geerbt von DependencyObject) |
| GetAnimationBaseValue(DependencyProperty) |
Gibt einen Basiswert zurück, der für eine Abhängigkeitseigenschaft eingerichtet wurde, was in Fällen angewendet wird, 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 wird. (Geerbt von DependencyObject) |
| RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Registriert eine Benachrichtigungsfunktion, um Änderungen an einer bestimmten DependencyProperty für diese DependencyObject-Instanz zu überwachen. (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 durch Aufrufen von RegisterPropertyChangedCallback registriert wurde. (Geerbt von DependencyObject) |