ThemeShadow Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Um ThemeShadow é um efeito de sombra pré-configurado que pode ser aplicado a qualquer elemento XAML para desenhar sombras adequadamente com base nas coordenadas x, y e z. O ThemeShadow também se ajusta automaticamente a outras especificações ambientais:
- Adapta-se a alterações na iluminação, tema do usuário, ambiente do aplicativo e shell.
- Elementos shadows automaticamente com base em sua elevação.
- Mantém os elementos sincronizados conforme eles se movem e mudam de elevação.
- Mantém as sombras consistentes em todos os aplicativos e entre eles.
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 524288)]
/// [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(Windows.Foundation.UniversalApiContract), 524288)]
[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
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 10, version 1903 (introduzida na 10.0.18362.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v8.0)
|
Exemplos
Dica
Para obter mais informações, diretrizes de design e exemplos de código, consulte Profundidade Z e sombra.
Muitos controles comuns convertem sombras automaticamente usando ThemeShadow.
Se você tiver o aplicativo WinUI 2 Gallery instalado e atender aos requisitos mínimos de versão do Windows 10 acima, clique aqui para abrir o aplicativo e consulte ThemeShadow em ação em controles comuns.
Comentários
Dica
Para obter mais informações, diretrizes de design e exemplos de código, consulte Profundidade Z e 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 rodízio conceitual e um ou mais UIElements receptor que têm a sombra do rodízio renderizada neles.
ThemeShadow dá suporte apenas a sombras retangulares. Para efeitos de sombra personalizados, você pode usar um DropShadow.
ThemeShadows em pop-ups
O ThemeShadow lança sombras automaticamente quando aplicado a qualquer elemento XAML em uma Pop-up. Ele projetará sombras no conteúdo em segundo plano do aplicativo por trás dele e em qualquer outra pop-up aberta abaixo dele.
Para usar ThemeShadow com pop-ups, 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 do usuário pop-up, a elevação padrão recomendada relativa ao conteúdo em segundo plano 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 ancestrais do projetor na árvore visual.
Práticas recomendadas de desempenho para ThemeShadow
Limite o número de elementos receptores personalizados ao mínimo necessário.
Se vários elementos receptores estiverem na mesma elevação, tente combiná-los direcionando um único elemento pai.
Se vários elementos projetarem o mesmo tipo de sombra nos mesmos elementos receptores, adicione a sombra como um recurso compartilhado e reutilize-a.
Construtores
ThemeShadow() |
Inicializa uma nova instância da classe ThemeShadow . |
Propriedades
Dispatcher |
Obtém o CoreDispatcher ao qual esse objeto está associado. O CoreDispatcher representa uma instalação que pode acessar DependencyObject no thread da interface do usuário mesmo que o código seja 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
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 nos 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 uma DependencyProperty específica 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) |