ThemeShadow Klasse

Definition

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
Object IInspectable DependencyObject Shadow ThemeShadow
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

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

  2. 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.

  3. 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 null . Verwenden Sie stattdessen DispatcherQueue .

(Geerbt von DependencyObject)
DispatcherQueue

Ruft ab DispatcherQueue , dem dieses Objekt zugeordnet ist. Dies DispatcherQueue stellt eine Einrichtung dar, die auf den DependencyObject 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, 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)

Gilt für:

Weitere Informationen