RadialGradientBrush Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- Attributi
-
Microsoft.UI.Xaml.CustomAttributes.MUXContractPropertyAttribute MarshalingBehaviorAttribute ThreadingAttribute VersionAttribute ContentPropertyAttribute ContractVersionAttribute
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>
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>
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 |
| DispatcherQueue |
Ottiene l'oggetto |
| 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) |