Lenguaje

ThemeShadow Clase

Definición

ThemeShadow es un efecto de sombra preconfigurado que se puede aplicar a cualquier elemento XAML para dibujar sombras adecuadamente basadas en coordenadas x, y, z. ThemeShadow también se ajusta automáticamente para otras especificaciones ambientales:

  • Se adapta a los cambios en la iluminación, el tema del usuario, el entorno de la aplicación y el shell.
  • Los elementos shadows se basan automáticamente en su elevación.
  • Mantiene los elementos sincronizados a medida que se mueven y cambian la elevación.
  • Mantiene las sombras coherentes en todas las aplicaciones y entre ellas.
/// [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
Herencia
Object IInspectable DependencyObject Shadow ThemeShadow
Atributos

Ejemplos

Tip

Para obtener más información, instrucciones de diseño y ejemplos de código, consulte Profundidad Z y sombra.

Comentarios

Tip

Para obtener más información, instrucciones de diseño y ejemplos de código, consulte Profundidad Z y sombra.

Un ThemeShadow se puede aplicar a cualquier elemento XAML para dibujar sombras basadas en las coordenadas relativas x, y y z entre un UIElement conceptual caster y uno o varios UIElements receptores que tienen la sombra del caster representada en ellos.

ThemeShadow solo admite sombras rectangulares. Para efectos de sombra personalizados, puede usar dropShadow.

ThemeShadows en elementos emergentes

ThemeShadow aplica automáticamente sombras cuando se aplican a cualquier elemento XAML en un Popup. Proyectará sombras sobre el contenido de fondo de la aplicación que esté detrás de él y sobre cualquier otro elemento emergente abierto que se encuentre debajo de él.

Para usar ThemeShadow con Elementos emergentes, usa la propiedad UIElement.Shadow para aplicar un ThemeShadow a un elemento XAML. A continuación, eleva el elemento de otros elementos detrás de él, por ejemplo mediante el componente z de la propiedad UIElement.Translation . Para la mayoría de la interfaz de usuario emergente, la elevación predeterminada recomendada en relación con el contenido en segundo plano de la aplicación es de 32 píxeles efectivos.

ThemeShadow en otros elementos

Para convertir una sombra de un elemento XAML que no está en un elemento Popup, debes especificar explícitamente los demás elementos que pueden recibir la sombra en la colección ThemeShadow.Receivers . Los receptores no pueden ser antecesores del emisor en el árbol visual.

Procedimientos recomendados de rendimiento para ThemeShadow

  1. Limite el número de elementos receptores personalizados al mínimo necesario.

  2. Si hay varios elementos receptores en la misma elevación, intente combinarlos seleccionando un único elemento primario en su lugar.

  3. Si varios elementos convertirán el mismo tipo de sombra en los mismos elementos receptores, agregue la sombra como un recurso compartido y reutilítelo.

Constructores

Nombre Description
ThemeShadow()

Inicializa una nueva instancia de la clase ThemeShadow .

Propiedades

Nombre Description
Dispatcher

Siempre devuelve null en una aplicación de SDK de Aplicaciones para Windows. Use DispatcherQueue en su lugar.

(Heredado de DependencyObject)
DispatcherQueue

Obtiene el objeto DispatcherQueue al que está asociado este objeto. DispatcherQueue representa una instalación que puede acceder al DependencyObject en el subproceso de la interfaz de usuario incluso si el código lo inicia un subproceso que no es de interfaz de usuario.

(Heredado de DependencyObject)
Receivers

Obtiene una colección de elementos de interfaz de usuario en los que se convierte themeShadow.

Métodos

Nombre Description
ClearValue(DependencyProperty)

Borra el valor local de una propiedad de dependencia.

(Heredado de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Devuelve cualquier valor base establecido para una propiedad de dependencia, que se aplicaría en los casos en los que una animación no está activa.

(Heredado de DependencyObject)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia de dependencyObject.

(Heredado de DependencyObject)
ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si se establece un valor local.

(Heredado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una función de notificación para escuchar los cambios en una dependencyProperty específica en esta instancia de DependencyObject .

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia en dependencyObject.

(Heredado de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela una notificación de cambio registrada anteriormente llamando a RegisterPropertyChangedCallback.

(Heredado de DependencyObject)

Se aplica a

Consulte también