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 a otras especificaciones del entorno:

  • 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 mientras se mueven y cambian la elevación.
  • Mantiene las sombras coherentes en todas las aplicaciones.
/// [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

Sugerencia

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

Comentarios

Sugerencia

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 de caster conceptual y uno o varios UIElements receptores que tienen la sombra del caster representada en ellos.

ThemeShadow solo admite sombras rectangulares. En el caso de los efectos de sombra personalizados, puede usar dropShadow.

ThemeShadows en elementos emergentes

ThemeShadow proyecta sombras automáticamente cuando se aplica a cualquier elemento XAML en un control Popup. Proyecta sombras sobre el contenido de fondo de la aplicación situado detrás, y sobre cualquier otro elemento emergente abierto que haya debajo.

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 . En la mayoría de los elementos emergentes de interfaz de usuario, 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 desde 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 proyector en el árbol visual.

Procedimientos recomendados para mejorar el rendimiento de ThemeShadow

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

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

  3. Si varios elementos van a proyectar el mismo tipo de sombra en los mismos elementos receptores, agrega la sombra como recurso compartido y vuelve a usarla.

Constructores

ThemeShadow()

Inicializa una nueva instancia de la clase ThemeShadow .

Propiedades

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 interfaz de usuario incluso si un subproceso que no es de interfaz de usuario inicia el código.

(Heredado de DependencyObject)
Receivers

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

Métodos

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