Compartilhar via


RadialGradientBrush Classe

Definição

RadialGradientBrush pinta uma área com um gradiente radial. Um ponto central define a origem do gradiente e uma elipse define os limites externos do gradiente.

/// [Microsoft.UI.Xaml.CustomAttributes.MUXContractProperty(version=0)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Version(1)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="GradientStops")]
class RadialGradientBrush : XamlCompositionBrushBase
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="GradientStops")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.XamlContract, 65536)]
class RadialGradientBrush : XamlCompositionBrushBase
[Microsoft.UI.Xaml.CustomAttributes.MUXContractProperty(version=0)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Version(1)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="GradientStops")]
public class RadialGradientBrush : XamlCompositionBrushBase
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="GradientStops")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.XamlContract), 65536)]
public class RadialGradientBrush : XamlCompositionBrushBase
Public Class RadialGradientBrush
Inherits XamlCompositionBrushBase
Herança
Object IInspectable DependencyObject Brush XamlCompositionBrushBase RadialGradientBrush
Atributos

Exemplos

Dica

Para obter mais informações, diretrizes de design e exemplos de código, consulte Pincéis XAML.

O aplicativo Galeria da WinUI 3 inclui exemplos interativos da maioria dos controles, recursos e funcionalidades da WinUI 3. Obtenha o aplicativo na Microsoft Store ou o código-fonte no GitHub.

O exemplo a seguir cria um gradiente radial com seis paradas de gradiente e o usa para pintar um Retângulo.

<Page
  xmlns:media="using:Microsoft.UI.Xaml.Media">

  <Rectangle Width="200" Height="200">
      <Rectangle.Fill>
          <media:RadialGradientBrush>
              <GradientStop Color="Blue" Offset="0.0" />
              <GradientStop Color="Yellow" Offset="0.2" />
              <GradientStop Color="LimeGreen" Offset="0.4" />
              <GradientStop Color="LightBlue" Offset="0.6" />
              <GradientStop Color="Blue" Offset="0.8" />
              <GradientStop Color="LightGray" Offset="1" />
          </media:RadialGradientBrush>
      </Rectangle.Fill>
  </Rectangle>

</Page>

Um retângulo preenchido com um gradiente radial

Este exemplo cria um gradiente radial que usa o modo de mapeamento Absoluto com valores personalizados para Center, RadiusYRadiusXe GradientOrigin:

<Page
  xmlns:media="using:Microsoft.UI.Xaml.Media">

  <Rectangle Width="200" Height="200">
      <Rectangle.Fill>
          <media:RadialGradientBrush
            MappingMode="Absolute"
            Center="50,50"
            RadiusX="100"
            RadiusY="100"
            GradientOrigin="100,50"
            >
              <GradientStop Color="Yellow" Offset="0.0" />
              <GradientStop Color="Blue" Offset="1" />
          </media:RadialGradientBrush>
      </Rectangle.Fill>
  </Rectangle>

</Page>

Eixo de gradiente para um gradiente vertical

Comentários

Layout de gradiente

O gradiente é desenhado dentro de uma elipse definida pelas propriedades Center, RadiusX e RadiusY . As cores do gradiente começam no centro da elipse e terminam no raio.

As cores do gradiente radial são definidas por marcas de cor adicionadas à propriedade da coleção de GradientStops. Cada marca de gradiente especifica uma cor e um deslocamento ao longo do gradiente.

A origem do gradiente usa como padrão o centro e pode ser deslocada usando a propriedade GradientOrigin.

MappingMode define se Center, RadiusX, RadiusY e GradientOrigin representam coordenadas relativas ou absolutas.

Quando MappingMode é definido RelativeToBoundingBoxcomo , os valores X e Y das três propriedades são tratados como relativos aos limites do elemento, em (0,0) que representa o canto superior esquerdo e (1,1) representa a parte inferior direita dos limites do elemento para as propriedades Center, RadiusX e RadiusY e (0,0) representa o centro da propriedade GradientOrigin .

Quando MappingMode é definido como Absolute, os valores X e Y das três propriedades são tratados como coordenadas absolutas dentro dos limites do elemento.

Suporte à versão do Windows 10

Há suporte para renderização de gradiente no Windows 10 versão 1903 (v10.0.18362.0) e superior. Em versões anteriores do sistema operacional, o pincel renderizará uma cor sólida especificada pela FallbackColor propriedade .

Pincéis como recursos XAML

Cada um dos tipos brush que podem ser declarados em XAML (SolidColorBrush, LinearGradientBrush, ImageBrush) destina-se a ser definido como um recurso, para que você possa reutilizar esse pincel como um recurso em todo o aplicativo. A sintaxe XAML mostrada para tipos brush é apropriada para definir o pincel como um recurso. Ao declarar um pincel como um recurso, você também precisa de um atributo x:Key que você usará posteriormente para se referir a esse recurso de outras definições de interface do usuário. Para obter mais informações sobre recursos XAML e como usar o atributo x:Key, consulte Referências de recursos ResourceDictionary e XAML.

A vantagem de declarar pincéis como recursos é que ele reduz o número de objetos de runtime necessários para construir uma interface do usuário: o pincel agora é compartilhado como um recurso comum que está fornecendo valores para várias partes do grafo de objeto.

Se você examinar as definições de modelo de controle existentes para Windows Runtime controles XAML, verá que os modelos usam recursos de pincel extensivamente (embora geralmente sejam SolidColorBrush, não LinearGradientBrush). Muitos desses recursos são recursos do sistema e usam a extensão de marcação {ThemeResource} para a referência de recurso em vez da extensão de marcação {StaticResource}. Para obter mais informações sobre como usar pincéis de recursos do sistema em seu próprio modelo de controle XAML, consulte Recursos de tema XAML.

Construtores

RadialGradientBrush()

Inicializa uma nova instância da classe RadialGradientBrush .

Propriedades

Center

Obtém ou define o centro da elipse que contém o gradiente.

CenterProperty

Identifica a propriedade de dependência Do centro.

CompositionBrush

Obtém ou define o CompositionBrush usado por esse pincel XAML.

(Herdado de XamlCompositionBrushBase)
Dispatcher

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

(Herdado de DependencyObject)
DispatcherQueue

Obtém o ao DispatcherQueue qual este objeto está associado. O DispatcherQueue representa uma instalação que pode acessar o 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)
FallbackColor

A cor a ser usada para renderização caso o CompositionBrush não possa ser renderizado.

(Herdado de XamlCompositionBrushBase)
GradientOrigin

Obtém ou define a origem do gradiente (em relação ao canto superior esquerdo).

GradientOriginProperty

Identifica a propriedade de dependência GradientOrigin.

GradientStops

Obtém ou define as marcas de gradiente do pincel.

InterpolationSpace

Obtém ou define o espaço de cor usado para interpolar as cores do gradiente.

InterpolationSpaceProperty

Identifica a propriedade de dependência InterpolationSpace.

MappingMode

Obtém ou define se as coordenadas de posicionamento do pincel de gradiente são absolutas ou relativas à área de saída.

MappingModeProperty

Identifica a propriedade de dependência MappingMode.

Opacity

Obtém ou define o grau de opacidade de um Pincel.

(Herdado de Brush)
RadiusX

Obtém ou define o raio do eixo X da elipse que contém o gradiente.

RadiusXProperty

Identifica a propriedade de dependência RadiusX.

RadiusY

Obtém ou define o raio do eixo Y da elipse que contém o gradiente.

RadiusYProperty

Identifica a propriedade de dependência RadiusY.

RelativeTransform

Obtém ou define a transformação que é aplicada ao pincel, usando coordenadas relativas.

(Herdado de Brush)
SpreadMethod

Obtém ou define o tipo de método de disseminação que especifica como desenhar um gradiente que inicia ou termina dentro dos limites do objeto a ser pintado.

SpreadMethodProperty

Identifica a propriedade de dependência SpreadMethod.

Transform

Obtém ou define a transformação que é aplicada ao pincel.

(Herdado de Brush)

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)
OnConnected()

Invocado quando um pincel é usado pela primeira vez na tela para pintar um elemento.

Quando implementado em uma classe derivada, você pode criar uma instância compositionBrush e fornecê-la à estrutura definindo a propriedade CompositionBrush .

OnDisconnected será chamado quando o pincel não estiver mais sendo usado para pintar nenhum elemento.

(Herdado de XamlCompositionBrushBase)
OnDisconnected()

Invocado quando o pincel não está mais sendo usado para pintar elementos.

Quando implementado em uma classe derivada, você pode descartar com segurança o pincel de compostagem e outros recursos de composição.

OnConnected será chamado novamente se o pincel for usado posteriormente para pintar elementos após ser desconectado.

(Herdado de XamlCompositionBrushBase)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Define uma propriedade que pode ser animada.

(Herdado de Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

Quando substituído em uma classe derivada, define uma propriedade que pode ser animada.

(Herdado de Brush)
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 nessa 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