RadialGradientBrush Classe

Definizione

RadialGradientBrush disegna un'area con una sfumatura radiale. Un punto centrale definisce l'origine della sfumatura e un'ellisse definisce i limiti esterni della sfumatura.

/// [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
Ereditarietà
Object IInspectable DependencyObject Brush XamlCompositionBrushBase RadialGradientBrush
Attributi

Esempio

Tip

Per altre info, indicazioni sulla progettazione ed esempi di codice, vedi Pennelli XAML.

L'app Raccolta WinUI 3 include esempi interattivi della maggior parte dei controlli e delle funzionalità di WinUI 3. Ottenere l'app dal Microsoft Store o ottenere il codice sorgente in GitHub.

Nell'esempio seguente viene creata una sfumatura radiale con sei cursori sfumature e viene utilizzata per disegnare un oggetto Rectangle.

<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>

Rettangolo riempito con una sfumatura radiale

In questo esempio viene creata una sfumatura radiale che usa la modalità di mapping assoluto con valori personalizzati per Center, RadiusXRadiusY e 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>

Asse delle sfumature per una sfumatura verticale

Commenti

Layout sfumato

La sfumatura viene disegnata all'interno di un'ellisse definita dalle proprietà Center, RadiusX e RadiusY . I colori per la sfumatura iniziano al centro dell'ellisse e terminano lungo il raggio.

I colori per la sfumatura radiale vengono definiti da interruzioni di colore aggiunte alla proprietà dell'insieme GradientStops . Ogni punto di sfumatura specifica un colore e una posizione lungo la sfumatura.

L'origine sfumatura viene impostata per impostazione predefinita al centro e può essere offset usando la proprietà GradientOrigin .

MappingMode definisce se Center, RadiusX, RadiusY e GradientOrigin rappresentano coordinate relative o assolute.

Quando MappingMode è impostato su RelativeToBoundingBox, i valori X e Y delle tre proprietà vengono considerati come relativi ai limiti degli elementi, dove (0,0) rappresenta la parte superiore sinistra e (1,1) rappresenta il lato inferiore destro dei limiti degli elementi per le proprietà Center, RadiusX e RadiusY e (0,0) rappresenta il centro per la proprietà GradientOrigin .

Quando MappingMode è impostato su Absolute, i valori X e Y delle tre proprietà vengono considerati coordinate assolute all'interno dei limiti dell'elemento.

Supporto della versione di Windows 10

Il rendering delle sfumature è supportato in Windows 10 versione 1903 (v10.0.18362.0) e versioni successive. Nelle versioni precedenti del sistema operativo il pennello eseguirà il FallbackColor rendering di un colore a tinta unita specificato dalla proprietà .

Pennelli come risorse XAML

Ognuno dei tipi Brush che possono essere dichiarati in XAML (SolidColorBrush, LinearGradientBrush, ImageBrush) deve essere definito come risorsa, in modo da poter riutilizzare tale pennello come risorsa nell'intera app. La sintassi XAML mostrata per i tipi Brush è appropriata per definire il pennello come risorsa. Quando dichiari un pennello come risorsa, devi anche usare un attributo x:Key che in seguito userai per fare riferimento a tale risorsa da altre definizioni dell'interfaccia utente. Per altre info sulle risorse XAML e su come usare l'attributo x:Key, vedi Riferimenti alle risorse ResourceDictionary e XAML.

Il vantaggio di dichiarare i pennelli come risorse è che riduce il numero di oggetti di runtime necessari per costruire un'interfaccia utente: il pennello viene ora condiviso come risorsa comune che fornisce valori per più parti del grafico degli oggetti.

Se si esaminano le definizioni dei modelli di controllo esistenti per i controlli XAML Windows Runtime, si noterà che i modelli usano ampiamente le risorse pennello (anche se in genere sono SolidColorBrush, non LinearGradientBrush). Molte di queste risorse sono risorse di sistema e usano l'estensione di markup {ThemeResource} per il riferimento alle risorse anziché l'estensione di markup {StaticResource}. Per altre info su come usare i pennelli delle risorse di sistema nel codice XAML del modello di controllo, vedi Risorse del tema XAML.

Costruttori

Nome Descrizione
RadialGradientBrush()

Inizializza una nuova istanza della classe RadialGradientBrush .

Proprietà

Nome Descrizione
Center

Ottiene o imposta il centro dell'ellisse che contiene la sfumatura.

CenterProperty

Identifica la proprietà di dipendenza Center.

CompositionBrush

Ottiene o imposta CompositionBrush utilizzato da questo pennello XAML.

(Ereditato da XamlCompositionBrushBase)
Dispatcher

Restituisce null sempre in un'app di SDK per app di Windows. Usare invece DispatcherQueue .

(Ereditato da DependencyObject)
DispatcherQueue

Ottiene l'oggetto DispatcherQueue a cui è associato questo oggetto. Rappresenta DispatcherQueue una funzionalità che può accedere al nel thread dell'interfaccia DependencyObject utente anche se il codice viene avviato da un thread non dell'interfaccia utente.

(Ereditato da DependencyObject)
FallbackColor

Colore da utilizzare per il rendering nel caso in cui non sia possibile eseguire il rendering di CompositionBrush .

(Ereditato da XamlCompositionBrushBase)
GradientOrigin

Ottiene o imposta l'origine della sfumatura (rispetto all'angolo superiore sinistro).

GradientOriginProperty

Identifica la proprietà di dipendenza GradientOrigin.

GradientStops

Ottiene o imposta le interruzioni sfumature del pennello.

InterpolationSpace

Ottiene o imposta lo spazio dei colori utilizzato per interpolare i colori della sfumatura.

InterpolationSpaceProperty

Identifica la proprietà di dipendenza InterpolationSpace.

MappingMode

Ottiene o imposta un valore che indica se le coordinate di posizionamento del pennello sfumato sono assolute o relative all'area di output.

MappingModeProperty

Identifica la proprietà di dipendenza MappingMode.

Opacity

Ottiene o imposta il grado di opacità di un oggetto Brush.

(Ereditato da Brush)
RadiusX

Ottiene o imposta il raggio dell'asse X dell'ellisse che contiene la sfumatura.

RadiusXProperty

Identifica la proprietà di dipendenza RadiusX.

RadiusY

Ottiene o imposta il raggio dell'asse Y dell'ellisse che contiene la sfumatura.

RadiusYProperty

Identifica la proprietà di dipendenza RadiusY.

RelativeTransform

Ottiene o imposta la trasformazione applicata al pennello utilizzando coordinate relative.

(Ereditato da Brush)
SpreadMethod

Ottiene o imposta il tipo di metodo spread che specifica come disegnare una sfumatura che inizia o termina all'interno dei limiti dell'oggetto da disegnare.

SpreadMethodProperty

Identifica la proprietà di dipendenza SpreadMethod.

Transform

Ottiene o imposta la trasformazione applicata al pennello.

(Ereditato da Brush)

Metodi

Nome Descrizione
ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà di dipendenza.

(Ereditato da DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Restituisce qualsiasi valore di base stabilito per una proprietà di dipendenza, che si applica nei casi in cui un'animazione non è attiva.

(Ereditato da DependencyObject)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza da dependencyObject.

(Ereditato da DependencyObject)
OnConnected()

Richiamato quando un pennello viene utilizzato per la prima volta sullo schermo per disegnare un elemento.

Quando viene implementato in una classe derivata, è possibile creare un'istanza di CompositionBrush e fornirla al framework impostando la proprietà CompositionBrush .

OnDisconnected verrà chiamato quando il pennello non viene più usato per disegnare alcun elemento.

(Ereditato da XamlCompositionBrushBase)
OnDisconnected()

Richiamato quando il pennello non viene più utilizzato per disegnare alcun elemento.

Se implementato in una classe derivata, è possibile eliminare in modo sicuro il pennello di compostione e altre risorse di composizione.

OnConnected verrà chiamato di nuovo se il pennello viene usato successivamente per disegnare gli elementi dopo la disconnessione.

(Ereditato da XamlCompositionBrushBase)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Definisce una proprietà che può essere animata.

(Ereditato da Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

Quando sottoposto a override in una classe derivata, definisce una proprietà che può essere animata.

(Ereditato da Brush)
ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se è impostato un valore locale.

(Ereditato da DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una funzione di notifica per l'ascolto delle modifiche a una dipendenza specifica in questa istanza dependencyObject .

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza in un Oggetto DependencyObject.

(Ereditato da DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annulla una notifica di modifica registrata in precedenza chiamando RegisterPropertyChangedCallback.

(Ereditato da DependencyObject)

Si applica a

Vedi anche