Disegna un'area con una sfumatura lineare.
System.Windows.Threading.DispatcherObject
System.Windows.DependencyObject
System.Windows.Freezable
System.Windows.Media.Animation.Animatable
System.Windows.Media.Brush
System.Windows.Media.GradientBrush
System.Windows.Media.LinearGradientBrush
Spazio dei nomi: System.Windows.Media
Assembly: PresentationCore (in PresentationCore.dll)
XMLNS per XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
Public NotInheritable Class LinearGradientBrush _ Inherits GradientBrush
public sealed class LinearGradientBrush : GradientBrush
public ref class LinearGradientBrush sealed : public GradientBrush
[<Sealed>] type LinearGradientBrush = class inherit GradientBrush end
<LinearGradientBrush> GradientStops </LinearGradientBrush>
Il tipo LinearGradientBrush espone i seguenti membri.
| Nome | Descrizione | |
|---|---|---|
|
LinearGradientBrush() | Inizializza una nuova istanza della classe LinearGradientBrush. |
|
LinearGradientBrush(GradientStopCollection) | Inizializza una nuova istanza della classe LinearGradientBrush con i cursori sfumatura specificati. |
|
LinearGradientBrush(GradientStopCollection, Double) | Inizializza una nuova istanza della classe LinearGradientBrush con l'oggetto GradientStopCollection e l'angolo specificati. |
|
LinearGradientBrush(Color, Color, Double) | Inizializza una nuova istanza della classe LinearGradientBrush con le strutture Color iniziale e Color finale nonché l'angolo specificati. |
|
LinearGradientBrush(GradientStopCollection, Point, Point) | Inizializza una nuova istanza della classe LinearGradientBrush con le proprietà StartPoint ed EndPoint nonché i cursori sfumatura specificati. |
|
LinearGradientBrush(Color, Color, Point, Point) | Inizializza una nuova istanza della classe LinearGradientBrush con le strutture Color iniziale e Color finale nonché le proprietà StartPoint ed EndPoint specificate. |
| Nome | Descrizione | |
|---|---|---|
|
CanFreeze | Ottiene un valore che indica se è possibile rendere immodificabile l’oggetto. (Ereditato da Freezable) |
|
ColorInterpolationMode | Ottiene o imposta un'enumerazione ColorInterpolationMode che specifica la modalità di interpolazione dei colori in una sfumatura. (Ereditato da GradientBrush) |
|
DependencyObjectType | Ottiene la classe DependencyObjectType che include il tipo CLR di questa istanza. (Ereditato da DependencyObject) |
|
Dispatcher | Ottiene l'oggetto Dispatcher associato a DispatcherObject. (Ereditato da DispatcherObject) |
|
EndPoint | Ottiene o imposta le coordinate bidimensionali finali della sfumatura lineare. |
|
GradientStops | Ottiene o imposta i cursori sfumatura del pennello. (Ereditato da GradientBrush) |
|
HasAnimatedProperties | Ottiene un valore che indica se uno o più oggetti AnimationClock sono associati a una qualsiasi delle proprietà di dipendenza di questo oggetto. (Ereditato da Animatable) |
|
IsFrozen | Ottiene un valore che indica se l’oggetto è attualmente immodificabile. (Ereditato da Freezable) |
|
IsSealed | Ottiene un valore che indica se l'istanza è attualmente sealed (di sola lettura). (Ereditato da DependencyObject) |
|
MappingMode | Ottiene o imposta un'enumerazione BrushMappingMode che specifica se le coordinate di posizionamento del pennello sfumato sono assolute o relative all'area di output. (Ereditato da GradientBrush) |
|
Opacity | Ottiene o imposta il livello di opacità di un oggetto Brush. (Ereditato da Brush) |
|
RelativeTransform | Ottiene o imposta la trasformazione applicata al pennello utilizzando coordinate relative. (Ereditato da Brush) |
|
SpreadMethod | Ottiene o imposta il tipo di metodo di distribuzione che specifica come tracciare una sfumatura che inizia o termina all'interno dei limiti dell'oggetto da disegnare. (Ereditato da GradientBrush) |
|
StartPoint | Ottiene o imposta le coordinate bidimensionali iniziali della sfumatura lineare. |
|
Transform | Ottiene o imposta la trasformazione applicata al pennello. La trasformazione viene applicata dopo che l'output del pennello è stato mappato e posizionato. (Ereditato da Brush) |
| Nome | Descrizione | |
|---|---|---|
|
ApplyAnimationClock(DependencyProperty, AnimationClock) | Applica un oggetto AnimationClock all'oggetto DependencyProperty specificato. Se alla proprietà è già stata aggiunta un'animazione, viene utilizzato il comportamento uniforme dell'oggetto SnapshotAndReplace. (Ereditato da Animatable) |
|
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) | Applica un oggetto AnimationClock all'oggetto DependencyProperty specificato. Se alla proprietà è già stata aggiunta un'animazione, viene utilizzato l'oggetto HandoffBehavior specificato. (Ereditato da Animatable) |
|
BeginAnimation(DependencyProperty, AnimationTimeline) | Applica un'animazione all'oggetto DependencyProperty specificato. L'animazione viene avviata quando si esegue il rendering del fotogramma successivo. Se alla proprietà specificata è già stata aggiunta un'animazione, viene utilizzato il comportamento uniforme dell'oggetto SnapshotAndReplace. (Ereditato da Animatable) |
|
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) | Applica un'animazione all'oggetto DependencyProperty specificato. L'animazione viene avviata quando si esegue il rendering del fotogramma successivo. Se alla proprietà specificata è già stata aggiunta un'animazione, viene utilizzato l'oggetto HandoffBehavior specificato. (Ereditato da Animatable) |
|
CheckAccess | Determina se il thread chiamante ha accesso a DispatcherObject. (Ereditato da DispatcherObject) |
|
ClearValue(DependencyProperty) | Cancella il valore locale di una proprietà. La proprietà da cancellare è indicata da un identificatore DependencyProperty. (Ereditato da DependencyObject) |
|
ClearValue(DependencyPropertyKey) | Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare è indicata da un identificatore DependencyPropertyKey. (Ereditato da DependencyObject) |
|
Clone | Crea un duplicato modificabile dell'oggetto LinearGradientBrush, eseguendo copie complete dei valori di tale oggetto. Durante la copia delle proprietà di dipendenza, vengono copiati i riferimenti di risorsa e le associazioni dati (che potrebbero non essere più risolti), ma non le animazioni o i relativi valori correnti. |
|
CloneCore | Si prenda ad esempio un clone (copia completa) di Freezable specificato utilizzando valori della proprietà di base (non-animati). (Ereditato da Freezable) |
|
CloneCurrentValue | Crea un clone modificabile dell'oggetto LinearGradientBrush, eseguendo copie complete dei valori correnti di tale oggetto. I riferimenti di risorsa, le associazioni dati e le animazioni non vengono copiati, mentre vengono copiati i relativi valori correnti. |
|
CloneCurrentValueCore | Rende l’istanza una copia modificabile (copia completa) dell'oggetto Freezable specificato utilizzando i valori della proprietà correnti. (Ereditato da Freezable) |
|
CoerceValue | Assegna il valore della proprietà di dipendenza specificata. Questa operazione viene eseguita richiamando qualsiasi funzione CoerceValueCallback specificata nei metadati della proprietà di dipendenza, esistente nell'oggetto DependencyObject chiamante. (Ereditato da DependencyObject) |
|
CreateInstance | Inizializza una nuova istanza della classe Freezable. (Ereditato da Freezable) |
|
CreateInstanceCore | Quando è implementato in una classe derivata, crea una nuova istanza della classe derivata Freezable. (Ereditato da Freezable) |
|
Equals | Determina se l'oggetto DependencyObject specificato equivale all'oggetto DependencyObject corrente. (Ereditato da DependencyObject) |
|
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) |
|
Freeze() | Rende immodificabile l'oggetto corrente e imposta la proprietà IsFrozen su true. (Ereditato da Freezable) |
|
FreezeCore | Rende immodificabile questo oggetto Animatable o determina se l'oggetto può essere reso immodificabile. (Ereditato da Animatable) |
|
GetAnimationBaseValue | Restituisce il valore non animato dell'oggetto DependencyProperty specificato. (Ereditato da Animatable) |
|
GetAsFrozen | Crea una copia bloccata di Freezable, utilizzando valori delle proprietà di base (non-animati). Dato che la copia è bloccata, gli oggetti secondari bloccati sono copiati dal riferimento. (Ereditato da Freezable) |
|
GetAsFrozenCore | Si prenda ad esempio una copia bloccata di Freezable specificato utilizzando valori della proprietà di base (non-animati). (Ereditato da Freezable) |
|
GetCurrentValueAsFrozen | Crea una copia bloccata di Freezable utilizzando valori della proprietà correnti. Dato che la copia è bloccata, gli oggetti secondari bloccati sono copiati dal riferimento. (Ereditato da Freezable) |
|
GetCurrentValueAsFrozenCore | Rende l’istanza corrente una copia bloccata di Freezablespecificato. Se l'oggetto dispone di proprietà di dipendenza animate, i valori animati correnti vengono copiati. (Ereditato da Freezable) |
|
GetHashCode | Ottiene un codice hash per questo oggetto DependencyObject. (Ereditato da DependencyObject) |
|
GetLocalValueEnumerator | Crea un enumeratore specializzato per determinare le proprietà di dipendenza che presentano valori impostati localmente nell'oggetto DependencyObject. (Ereditato da DependencyObject) |
|
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
|
GetValue | Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di DependencyObject. (Ereditato da DependencyObject) |
|
InvalidateProperty | Valuta di nuovo il valore effettivo della proprietà di dipendenza specificata. (Ereditato da DependencyObject) |
|
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) |
|
OnChanged | Viene chiamato quando l'oggetto Freezable corrente viene modificato. (Ereditato da Freezable) |
|
OnFreezablePropertyChanged(DependencyObject, DependencyObject) | Assicura che adatti puntatori del contesto siano stabiliti per un membro dati DependencyObjectType che è appena stato impostato. (Ereditato da Freezable) |
|
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) | Questo membro supporta l'infrastruttura Windows Presentation Foundation (WPF) e non può essere utilizzato direttamente dal codice. (Ereditato da Freezable) |
|
OnPropertyChanged | Esegue l'override dell'implementazione DependencyObject di OnPropertyChanged per richiamare anche qualsiasi gestore Changed in risposta a una modifica della proprietà di dipendenza di tipo Freezable. (Ereditato da Freezable) |
|
ReadLocalValue | Restituisce il valore locale di una proprietà di dipendenza, se esistente. (Ereditato da DependencyObject) |
|
ReadPreamble | Assicura che l’accesso di Freezable sia stato eseguito da un thread valido. Gli eredi di Freezable devono chiamare questo metodo all'inizio di qualsiasi API che legge i membri dei dati che non sono proprietà della dipendenza. (Ereditato da Freezable) |
|
SetCurrentValue | Imposta il valore di una proprietà di dipendenza senza modificare l'origine del valore. (Ereditato da DependencyObject) |
|
SetValue(DependencyProperty, Object) | Imposta il valore locale di una proprietà di dipendenza, specificata dal relativo identificatore. (Ereditato da DependencyObject) |
|
SetValue(DependencyPropertyKey, Object) | Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificata dall'identificatore DependencyPropertyKey della proprietà di dipendenza. (Ereditato da DependencyObject) |
|
ShouldSerializeProperty | Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore della proprietà di dipendenza fornita. (Ereditato da DependencyObject) |
|
ToString() | Rappresentazione in forma di stringa restituita di Brush. (Ereditato da Brush) |
|
ToString(IFormatProvider) | Crea una rappresentazione di stringa dell'oggetto in base alle informazioni di formattazione specifiche delle impostazioni cultura specificate. (Ereditato da Brush) |
|
VerifyAccess | Impone che il thread chiamante abbia accesso a DispatcherObject. (Ereditato da DispatcherObject) |
|
WritePostscript | Genera l'evento Changed per Freezable e richiama il metodo OnChanged. Le classi che derivano da Freezable devono chiamare questo metodo alla fine di qualsiasi API che modifica i membri della classe non archiviati come proprietà di dipendenza. (Ereditato da Freezable) |
|
WritePreamble | Verifica che l'oggetto Freezable non sia bloccato e che l'accesso sia eseguito da un contesto di threading valido. Gli eredi di Freezable devono chiamare questo metodo all'inizio di qualsiasi API che scrive sui membri dei dati che non sono proprietà della dipendenza. (Ereditato da Freezable) |
| Nome | Descrizione | |
|---|---|---|
|
Changed | Si verifica quando Freezable o un oggetto che contiene è modificato. (Ereditato da Freezable) |
| Nome | Descrizione | |
|---|---|---|
|
EndPointProperty | Identifica la proprietà di dipendenza EndPoint. |
|
StartPointProperty | Identifica la proprietà di dipendenza StartPoint. |
| Nome | Descrizione | |
|---|---|---|
|
IFormattable.ToString | Formatta il valore dell'istanza corrente utilizzando il formato specificato. (Ereditato da Brush) |
LinearGradientBrush disegna un'area con una sfumatura lineare. Una sfumatura lineare definisce una sfumatura lungo una linea. Il punto iniziale e il punto finale della linea vengono definiti dalle proprietà StartPoint e EndPoint della sfumatura lineare. Un pennello della classe LinearGradientBrush disegna i relativi oggetti GradientStops lungo questa linea.
La sfumatura lineare predefinita è diagonale. Nell'impostazione predefinita il valore di StartPoint di una sfumatura lineare è (0,0), ovvero l'angolo superiore sinistro dell'area disegnata, mentre il valore di EndPoint è (1,1), ovvero l'angolo inferiore destro dell'area disegnata. I colori della sfumatura risultante vengono interpolati lungo il percorso diagonale.
Di seguito è illustrata una sfumatura diagonale. È stata aggiunta una linea per evidenziare il percorso di interpolazione della sfumatura tra il punto iniziale e quello finale.
Nella figura seguente è illustrata la stessa sfumatura lineare, ma con i cursori sfumatura evidenziati.
È possibile specificare un asse di sfumatura che non riempie completamente l'area disegnata. Quando si verifica questa situazione, la proprietà SpreadMethod determina la modalità di disegno dell'area rimanente.
Funzionalità dell'oggetto Freezable
Un oggetto LinearGradientBrush è un oggetto di tipo Freezable e pertanto può essere bloccato per migliorare le prestazioni. Per informazioni sulle funzionalità della classe Freezable, ad esempio il blocco e la duplicazione, vedere Freezable Objects Overview.
This example shows how to use the LinearGradientBrush class to paint an area with a linear gradient. In the following example, the Fill of a Rectangle is painted with a diagonal linear gradient that transitions from yellow to red to blue to lime green.
<!-- This rectangle is painted with a diagonal linear gradient. --> <Rectangle Width="200" Height="100"> <Rectangle.Fill> <LinearGradientBrush StartPoint="0,0" EndPoint="1,1"> <GradientStop Color="Yellow" Offset="0.0" /> <GradientStop Color="Red" Offset="0.25" /> <GradientStop Color="Blue" Offset="0.75" /> <GradientStop Color="LimeGreen" Offset="1.0" /> </LinearGradientBrush> </Rectangle.Fill> </Rectangle>
Rectangle diagonalFillRectangle = new Rectangle(); diagonalFillRectangle.Width = 200; diagonalFillRectangle.Height = 100; // Create a diagonal linear gradient with four stops. LinearGradientBrush myLinearGradientBrush = new LinearGradientBrush(); myLinearGradientBrush.StartPoint = new Point(0,0); myLinearGradientBrush.EndPoint = new Point(1,1); myLinearGradientBrush.GradientStops.Add( new GradientStop(Colors.Yellow, 0.0)); myLinearGradientBrush.GradientStops.Add( new GradientStop(Colors.Red, 0.25)); myLinearGradientBrush.GradientStops.Add( new GradientStop(Colors.Blue, 0.75)); myLinearGradientBrush.GradientStops.Add( new GradientStop(Colors.LimeGreen, 1.0)); // Use the brush to paint the rectangle. diagonalFillRectangle.Fill = myLinearGradientBrush;
The following illustration shows the gradient created by the previous example.
To create a horizontal linear gradient, change the StartPoint and EndPoint of the LinearGradientBrush to (0,0.5) and (1,0.5). In the following example, a Rectangle is painted with a horizontal linear gradient.
<!-- This rectangle is painted with a horizontal linear gradient. --> <Rectangle Width="200" Height="100"> <Rectangle.Fill> <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5"> <GradientStop Color="Yellow" Offset="0.0" /> <GradientStop Color="Red" Offset="0.25" /> <GradientStop Color="Blue" Offset="0.75" /> <GradientStop Color="LimeGreen" Offset="1.0" /> </LinearGradientBrush> </Rectangle.Fill> </Rectangle>
Rectangle horizontalFillRectangle = new Rectangle();
horizontalFillRectangle.Width = 200;
horizontalFillRectangle.Height = 100;
// Create a horizontal linear gradient with four stops.
LinearGradientBrush myHorizontalGradient =
new LinearGradientBrush();
myHorizontalGradient.StartPoint = new Point(0,0.5);
myHorizontalGradient.EndPoint = new Point(1,0.5);
myHorizontalGradient.GradientStops.Add(
new GradientStop(Colors.Yellow, 0.0));
myHorizontalGradient.GradientStops.Add(
new GradientStop(Colors.Red, 0.25));
myHorizontalGradient.GradientStops.Add(
new GradientStop(Colors.Blue, 0.75));
myHorizontalGradient.GradientStops.Add(
new GradientStop(Colors.LimeGreen, 1.0));
// Use the brush to paint the rectangle.
horizontalFillRectangle.Fill = myHorizontalGradient;
The following illustration shows the gradient created by the previous example.
To create a vertical linear gradient, change the StartPoint and EndPoint of the LinearGradientBrush to (0.5,0) and (0.5,1). In the following example, a Rectangle is painted with a vertical linear gradient.
<!-- This rectangle is painted with a vertical gradient. --> <Rectangle Width="200" Height="100"> <Rectangle.Fill> <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1"> <GradientStop Color="Yellow" Offset="0.0" /> <GradientStop Color="Red" Offset="0.25" /> <GradientStop Color="Blue" Offset="0.75" /> <GradientStop Color="LimeGreen" Offset="1.0" /> </LinearGradientBrush> </Rectangle.Fill> </Rectangle>
Rectangle verticalFillRectangle = new Rectangle(); verticalFillRectangle.Width = 200; verticalFillRectangle.Height = 100; // Create a vertical linear gradient with four stops. LinearGradientBrush myVerticalGradient = new LinearGradientBrush(); myVerticalGradient.StartPoint = new Point(0.5,0); myVerticalGradient.EndPoint = new Point(0.5,1); myVerticalGradient.GradientStops.Add( new GradientStop(Colors.Yellow, 0.0)); myVerticalGradient.GradientStops.Add( new GradientStop(Colors.Red, 0.25)); myVerticalGradient.GradientStops.Add( new GradientStop(Colors.Blue, 0.75)); myVerticalGradient.GradientStops.Add( new GradientStop(Colors.LimeGreen, 1.0)); // Use the brush to paint the rectangle. verticalFillRectangle.Fill = myVerticalGradient;
The following illustration shows the gradient created by the previous example.
Nota
|
|---|
|
The examples in this topic use the default coordinate system for setting start points and end points. The default coordinate system is relative to a bounding box: 0 indicates 0 percent of the bounding box, and 1 indicates 100 percent of the bounding box. You can change this coordinate system by setting the MappingMode property to the value BrushMappingMode.Absolute. An absolute coordinate system is not relative to a bounding box. Values are interpreted directly in local space. |
For additional examples, see Brushes Sample. For more information about gradients and other types of brushes, see Painting with Solid Colors and Gradients Overview.
.NET Framework
Supportato in: 4, 3.5, 3.0.NET Framework Client Profile
Supportato in: 4, 3.5 SP1Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2
.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Nota