ThemeShadow Classe

Definição

Um ThemeShadow é um efeito de sombra pré-configurado que pode ser aplicado a qualquer elemento XAML para desenhar sombras adequadamente com base em coordenadas x, y, z. ThemeShadow também é ajustado automaticamente para outras especificações ambientais:

  • Adapta-se a alterações na iluminação, no tema do usuário, no ambiente do aplicativo e no shell.
  • Sombras elementos automaticamente com base em sua elevação.
  • Mantém os elementos sincronizados à medida que se movem e alteram a elevação.
  • Mantém as sombras consistentes em todos os aplicativos.
/// [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
Herança
Object IInspectable DependencyObject Shadow ThemeShadow
Atributos

Exemplos

Tip

Para obter mais informações, diretrizes de design e exemplos de código, consulte a profundidade Z e a sombra.

Comentários

Tip

Para obter mais informações, diretrizes de design e exemplos de código, consulte a profundidade Z e a sombra.

Um ThemeShadow pode ser aplicado a qualquer elemento XAML para desenhar sombras com base nas coordenadas relativas x, y e z entre um UIElement do conversor conceitual e um ou mais UIElements de receptor que têm a sombra do conversor renderizada neles.

ThemeShadow dá suporte apenas a sombras retangulares. Para efeitos de sombra personalizados, você pode usar um DropShadow.

ThemeShadows em Popups

ThemeShadow projeta automaticamente sombras quando aplicado a qualquer elemento XAML em um Popup. Ele lançará sombras no conteúdo da tela de fundo do aplicativo por trás dele e quaisquer outros Pop-ups abertos abaixo dele.

Para usar ThemeShadow com Popups, use a propriedade UIElement.Shadow para aplicar um ThemeShadow a um elemento XAML. Em seguida, eleve o elemento de outros elementos por trás dele, por exemplo, usando o componente z da propriedade UIElement.Translation . Para a maioria das interfaces de pop-up, a elevação padrão recomendada em relação ao conteúdo de fundo do aplicativo é de 32 pixels efetivos.

ThemeShadow em outros elementos

Para converter uma sombra de um elemento XAML que não está em um pop-up, você deve especificar explicitamente os outros elementos que podem receber a sombra na coleção ThemeShadow.Receivers . Os receptores não podem ser um ancestral do emissor na árvore visual.

Práticas recomendadas de desempenho para ThemeShadow

  1. Limite o número de elementos de receptor personalizados ao mínimo necessário.

  2. Se vários elementos receptores estiverem na mesma elevação, tente combiná-los direcionando um único elemento pai.

  3. Se vários elementos converterem o mesmo tipo de sombra nos mesmos elementos receptores, adicione a sombra como um recurso compartilhado e reutilize-a.

Construtores

Nome Description
ThemeShadow()

Inicializa uma nova instância da classe ThemeShadow .

Propriedades

Nome Description
Dispatcher

Sempre retorna null em um aplicativo do SDK de Aplicativo do Windows. Em vez disso , use DispatcherQueue .

(Herdado de DependencyObject)
DispatcherQueue

Obtém o DispatcherQueue que este objeto está associado. Representa DispatcherQueue uma instalação que pode acessar o DependencyObject thread da interface do usuário mesmo se o código for iniciado por um thread que não seja da interface do usuário.

(Herdado de DependencyObject)
Receivers

Obtém uma coleção de elementos de interface do usuário em que este ThemeShadow é convertido.

Métodos

Nome Description
ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade de dependência.

(Herdado de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Retorna qualquer valor base estabelecido para uma propriedade de dependência, que se aplicaria em casos em que uma animação não está ativa.

(Herdado de DependencyObject)
GetValue(DependencyProperty)

Retorna o valor efetivo atual de uma propriedade de dependência de um DependencyObject.

(Herdado de DependencyObject)
ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, se um valor local for definido.

(Herdado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra uma função de notificação para escutar alterações em um DependencyProperty específico nesta instância dependencyObject .

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência em um DependencyObject.

(Herdado de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela uma notificação de alteração que foi registrada anteriormente chamando RegisterPropertyChangedCallback.

(Herdado de DependencyObject)

Aplica-se a

Confira também