ThemeShadow Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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
Limita el número de elementos receptores personalizados al mínimo necesario.
Si varios elementos receptores están en la misma elevación, intente combinarlos seleccionando un único elemento primario en su lugar.
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 |
DispatcherQueue |
Obtiene el objeto |
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) |