Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

GradientStopCollection-Klasse

Aktualisiert: November 2007

Stellt eine Auflistung von GradientStop-Objekten dar, auf die einzeln über einen Index zugegriffen werden kann.

Namespace:  System.Windows.Media
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS für XAML: http://schemas.microsoft.com/winfx/xaml/presentation

public sealed class GradientStopCollection : Animatable, 
	IFormattable, IList, ICollection, IList<GradientStop>, 
	ICollection<GradientStop>, IEnumerable<GradientStop>, IEnumerable
public final class GradientStopCollection extends Animatable implements IFormattable, 
	IList, ICollection, IList<GradientStop>, ICollection<GradientStop>, 
	IEnumerable<GradientStop>, IEnumerable
public final class GradientStopCollection extends Animatable implements IFormattable, IList, ICollection, IList<GradientStop>, ICollection<GradientStop>, IEnumerable<GradientStop>, IEnumerable
<GradientStopCollection .../>
<object>
  <object.property>
    oneOrMoreGradientStopObjectElements
  </object.property>
</object>
oneOrMoreGradientStopObjectElements
                    Ein oder mehrere GradientStop-Objekte, die mit der Objektelementsyntax deklariert wurden.
                

GradientStopCollection wird von den GradientBrush-Klassen zum Speichern von GradientStop-Informationen verwendet.

Falls nicht anders angegeben, entspricht das Verhalten der Member dieser Klasse genau dem in der Dokumentation für IList<T>, ICollection<T> und IEnumerable<T> beschriebenen Verhalten.

Features von Freezable: Weil die GradientStopCollection-Klasse von der Freezable-Klasse erbt, stellt sie mehrere spezielle Features bereit: GradientStopCollection-Objekte können als Ressourcen deklariert, von mehreren Objekten gleichzeitig verwendet, für eine höhere Leistung als schreibgeschützt definiert, geklont und als threadsicher festgelegt werden. Weitere Informationen über die verschiedenen von Freezable-Objekten bereitgestellten Features finden Sie unter Übersicht über Freezable-Objekte.

In diesem Beispiel wird veranschaulicht, wie mithilfe der LinearGradientBrush-Klasse ein Bereich mit einem linearen Farbverlauf gezeichnet wird. In dem folgenden Beispiel wird die Fill eines Rectangle mit einem diagonalen linearen Farbverlauf gezeichnet, der sich von Gelb über Rot und Blau in Gelbgrün ändert.

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


In der folgenden Abbildung wird der im vorherigen Beispiel erstellte Farbverlauf dargestellt.

Ein diagonaler, linearer Farbverlauf

Einen horizontalen linearen Farbverlauf erstellen Sie, indem Sie den StartPoint und EndPoint für LinearGradientBrush in (0,0.5) und (1,0.5) ändern. In dem folgenden Beispiel wird ein Rectangle mit einem horizontalen linearen Farbverlauf gezeichnet.

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



In der folgenden Abbildung wird der im vorherigen Beispiel erstellte Farbverlauf dargestellt.

Ein horizontaler, linearer Farbverlauf

Einen vertikalen linearen Farbverlauf erstellen Sie, indem Sie den StartPoint und EndPoint für LinearGradientBrush in (0.5,0) und (0.5,1) ändern. In dem folgenden Beispiel wird ein Rectangle mit einem vertikalen linearen Farbverlauf gezeichnet.

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


In der folgenden Abbildung wird der im vorherigen Beispiel erstellte Farbverlauf dargestellt.

Ein vertikaler, linearer Farbverlauf
ms635054.alert_note(de-de,VS.90).gifHinweis:

Die Beispiele in diesem Thema verwenden das Standardkoordinatensystem zum Festlegen von Startpunkten und Endpunkten. Das Standardkoordinatensystem ist relativ zu einem umgebenden Rechteck: 0 gibt 0 Prozent des umgebenden Rechtecks an, und 1 gibt 100 Prozent des umgebenden Rechtecks an. Sie können dieses Koordinatensystem ändern, indem Sie den Wert der MappingMode-Eigenschaft auf den Wert BrushMappingMode.Absolute festlegen. Ein absolutes Koordinatensystem ist nicht relativ zu einem umgebenden Rechteck. Werte werden direkt im lokalen Raum interpretiert.

Weitere Beispiele finden Sie unter Beispiel für Pinsel. Weitere Informationen über Farbverläufe und andere Typen von Pinseln finden Sie unter Übersicht über das Zeichnen mit Volltonfarben und Farbverläufen.

Weiterer Code

Gewusst wie: Zeichnen eines Bereichs mit einem radialen FarbverlaufDieses Beispiel zeigt, wie Sie die RadialGradientBrush-Klasse verwenden, um einen Bereich mit einem radialen Farbverlauf zu zeichnen.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows Vista

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0
Anzeigen: