Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

LinearGradientBrush (Clase)

Pinta un área con un degradado lineal.

Espacio de nombres:  System.Windows.Media
Ensamblado:  PresentationCore (en PresentationCore.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public sealed class LinearGradientBrush : GradientBrush
<LinearGradientBrush>
  GradientStops
</LinearGradientBrush>

El tipo LinearGradientBrush expone los siguientes miembros.

  NombreDescripción
Método públicoLinearGradientBrush()Inicializa una nueva instancia de la clase LinearGradientBrush.
Método públicoLinearGradientBrush(GradientStopCollection)Inicializa una nueva instancia de la clase LinearGradientBrush con los delimitadores de degradado especificados.
Método públicoLinearGradientBrush(GradientStopCollection, Double)Inicializa una nueva instancia de la clase LinearGradientBrush con la colección GradientStopCollection y el ángulo especificados.
Método públicoLinearGradientBrush(Color, Color, Double)Inicializa una nueva instancia de la clase LinearGradientBrush que tiene el Color inicial, Color final y ángulo especificados.
Método públicoLinearGradientBrush(GradientStopCollection, Point, Point)Inicializa una nueva instancia de la clase LinearGradientBrush con los delimitadores de degradado, StartPoint y EndPoint especificados.
Método públicoLinearGradientBrush(Color, Color, Point, Point)Inicializa una nueva instancia de la clase LinearGradientBrush con el Color inicial, Color final, StartPoint y EndPoint especificados.
Arriba

  NombreDescripción
Propiedad públicaCanFreezeObtiene un valor que indica si el objeto se puede convertir en no modificable. (Se hereda de Freezable).
Propiedad públicaColorInterpolationModeObtiene o establece una enumeración ColorInterpolationMode que especifica cómo se interpolan los colores del degradado. (Se hereda de GradientBrush).
Propiedad públicaDependencyObjectTypeObtiene el objeto DependencyObjectType que ajusta el tipo CLR de esta instancia.  (Se hereda de DependencyObject).
Propiedad públicaDispatcherObtiene el objeto Dispatcher al que está asociado DispatcherObject. (Se hereda de DispatcherObject).
Propiedad públicaEndPointObtiene o establece las coordenadas bidimensionales finales del degradado lineal.
Propiedad públicaGradientStopsObtiene o establece los puntos de degradado del pincel. (Se hereda de GradientBrush).
Propiedad públicaHasAnimatedPropertiesObtiene un valor que indica si uno o más objetos AnimationClock se asocian a cualquiera de las propiedades de dependencia de este objeto. (Se hereda de Animatable).
Propiedad públicaIsFrozenObtiene un valor que indica si el objeto es modificable actualmente. (Se hereda de Freezable).
Propiedad públicaIsSealedObtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura). (Se hereda de DependencyObject).
Propiedad públicaMappingMode Obtiene o establece una enumeración BrushMappingMode que especifica si las coordenadas de posición del pincel de degradado son absolutas o relativas respecto al área de salida. (Se hereda de GradientBrush).
Propiedad públicaOpacity Obtiene o establece el grado de opacidad de un objeto Brush. (Se hereda de Brush).
Propiedad públicaRelativeTransformObtiene o establece la transformación que se aplica al pincel utilizando coordenadas relativas. (Se hereda de Brush).
Propiedad públicaSpreadMethod Obtiene o establece el tipo de método de expansión que especifica cómo dibujar un degradado que se inicia o finaliza dentro de los límites del objeto que se va a pintar. (Se hereda de GradientBrush).
Propiedad públicaStartPointObtiene o establece las coordenadas bidimensionales iniciales del degradado lineal.
Propiedad públicaTransformObtiene o establece la transformación aplicada al pincel. Esta transformación se aplica después de haber asignado y colocado el resultado del pincel. (Se hereda de Brush).
Arriba

  NombreDescripción
Método públicoApplyAnimationClock(DependencyProperty, AnimationClock)Aplica un objeto AnimationClock al objeto DependencyProperty especificado. Si la propiedad ya está animada, se usa el comportamiento de entrega de SnapshotAndReplace. (Se hereda de Animatable).
Método públicoApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)Aplica un objeto AnimationClock al objeto DependencyProperty especificado. Si la propiedad ya está animada, se usa el objeto HandoffBehavior especificado. (Se hereda de Animatable).
Método públicoBeginAnimation(DependencyProperty, AnimationTimeline)Aplica una animación al objeto DependencyProperty especificado. La animación empieza cuando se representa el siguiente fotograma. Si la propiedad especificada ya está animada, se usa el comportamiento de entrega de SnapshotAndReplace. (Se hereda de Animatable).
Método públicoBeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)Aplica una animación al objeto DependencyProperty especificado. La animación empieza cuando se representa el siguiente fotograma. Si la propiedad especificada ya está animada, se usa el objeto HandoffBehavior especificado. (Se hereda de Animatable).
Método públicoCheckAccess Determina si el subproceso de la llamada tiene acceso a este DispatcherObject. (Se hereda de DispatcherObject).
Método públicoClearValue(DependencyProperty) Borra el valor local de una propiedad. La propiedad que se borrará se especifica mediante un identificador de DependencyProperty. (Se hereda de DependencyObject).
Método públicoClearValue(DependencyPropertyKey) Borra el valor local de una propiedad de sólo lectura. La propiedad que se borrará es especificada por DependencyPropertyKey. (Se hereda de DependencyObject).
Método públicoCloneCrea un clon modificable de este objeto LinearGradientBrush y hace copias en profundidad de sus valores. Cuando se copian propiedades de dependencia, este método copia las referencias de recursos y enlaces de datos (aunque no se resuelvan), pero no copia las animaciones ni sus valores actuales.
Método protegidoCloneCoreConvierte la instancia en un clon (copia en profundidad) de la clase Freezable especificada con los valores de la propiedad base (no animada). (Se hereda de Freezable).
Método públicoCloneCurrentValueCrea un clon modificable de este objeto LinearGradientBrush y hace copias en profundidad de sus valores actuales. Las referencias de recursos, los enlaces de datos y las animaciones no se copian, pero sus valores actuales sí.
Método protegidoCloneCurrentValueCoreConvierte la instancia en un clon modificable (en profundidad) del objeto Freezable especificado utilizando los valores de las propiedades actuales. (Se hereda de Freezable).
Método públicoCoerceValue Fuerza el valor de propiedad de la dependencia especificada. Esto se logra a cualquier función de CoerceValueCallback especificada en los metadatos de propiedad para la propiedad de dependencia tal como existe en el objeto DependencyObject que llama. (Se hereda de DependencyObject).
Método protegidoCreateInstanceInicializa una nueva instancia de la clase Freezable. (Se hereda de Freezable).
Método protegidoCreateInstanceCoreCuando se implementa en una clase derivada, crea una nueva instancia de la clase Freezable derivada. (Se hereda de Freezable).
Método públicoEquals Determina si un DependencyObject proporcionado es equivalente a DependencyObject actual. (Se hereda de DependencyObject).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Se hereda de Object).
Método públicoFreeze()Convierte el objeto actual en no modificable y establece su propiedad IsFrozen en true. (Se hereda de Freezable).
Método protegidoFreezeCoreConvierte este objeto Animatable en no modificable o determina si se puede convertir en no modificable. (Se hereda de Animatable).
Método públicoGetAnimationBaseValueDevuelve el valor no animado del objeto DependencyProperty especificado. (Se hereda de Animatable).
Método públicoGetAsFrozenCrea una copia inmovilizada de Freezable, con los valores de la propiedad base (no animada). Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia. (Se hereda de Freezable).
Método protegidoGetAsFrozenCoreConvierte la instancia en un clon inmovilizado de la clase Freezable especificada con los valores de la propiedad base (no animada). (Se hereda de Freezable).
Método públicoGetCurrentValueAsFrozenCrea una copia inmovilizada de Freezable con los valores de propiedad actuales. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia. (Se hereda de Freezable).
Método protegidoGetCurrentValueAsFrozenCoreConvierte la instancia actual en un clon inmovilizado de la clase Freezable especificada. Si el objeto tiene propiedades de dependencia animadas, se copian sus valores animados actuales. (Se hereda de Freezable).
Método públicoGetHashCode Obtiene un código hash para este DependencyObject. (Se hereda de DependencyObject).
Método públicoGetLocalValueEnumeratorCrea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject. (Se hereda de DependencyObject).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoGetValue Devuelve el valor efectivo actual de propiedad de dependencia en esta instancia de DependencyObject. (Se hereda de DependencyObject).
Método públicoInvalidatePropertyVuelve a evaluar el valor efectivo para la propiedad de dependencia especificada. (Se hereda de DependencyObject).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoOnChangedSe llama cuando se modifica el objeto Freezable actual. (Se hereda de Freezable).
Método protegidoOnFreezablePropertyChanged(DependencyObject, DependencyObject)Se asegura de que se establecen los punteros contextuales adecuados para un miembro de datos DependencyObjectType que se acaba de establecer. (Se hereda de Freezable).
Método protegidoOnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)Este miembro admite la infraestructura de Windows Presentation Foundation (WPF) y no se debe usar directamente desde el código. (Se hereda de Freezable).
Método protegidoOnPropertyChangedInvalida la implementación de DependencyObject de OnPropertyChanged para invocar también cualquier controlador Changed como respuesta a un cambio de propiedad de dependencia de tipo Freezable. (Se hereda de Freezable).
Método públicoReadLocalValue Devuelve el valor local de propiedad de dependencia, si existe. (Se hereda de DependencyObject).
Método protegidoReadPreambleSe asegura de que se tiene acceso a Freezable desde un subproceso válido. Los herederos de Freezable deben llamar a este método al inicio de las API que lean miembros de datos que no son propiedades de dependencia. (Se hereda de Freezable).
Método públicoSetCurrentValueEstablece el valor de una propiedad de dependencia sin cambiar el origen de su valor. (Se hereda de DependencyObject).
Método públicoSetValue(DependencyProperty, Object)Establece el valor local de una propiedad de dependencia, especificado por su identificador de propiedad de dependencia. (Se hereda de DependencyObject).
Método públicoSetValue(DependencyPropertyKey, Object)Establece el valor local de una propiedad de dependencia de sólo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia. (Se hereda de DependencyObject).
Método protegidoShouldSerializePropertyDevuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia proporcionada. (Se hereda de DependencyObject).
Método públicoToString() Devuelve una representación en forma de cadena de Brush. (Se hereda de Brush).
Método públicoToString(IFormatProvider) Crea una representación de cadena de este objeto con la información de formato específica de la referencia cultural especificada. (Se hereda de Brush).
Método públicoVerifyAccessExige que el subproceso de la llamada tenga acceso a DispatcherObject. (Se hereda de DispatcherObject).
Método protegidoWritePostscriptProvoca el evento Changed de Freezable e invoca su método OnChanged. Las clases que se derivan de Freezable deben llamar a este método al final de cualquier API que modifique miembros de clase que no se almacenen como propiedades de dependencia. (Se hereda de Freezable).
Método protegidoWritePreambleComprueba que no se inmovilice Freezable y que se tiene acceso desde un contexto de subproceso válido. Los herederos de Freezable deben llamar a este método al inicio de cualquier API que escriba en miembros de datos que no sean propiedades de dependencia. (Se hereda de Freezable).
Arriba

  NombreDescripción
Evento públicoChangedSe produce cuando se modifican la clase Freezable o un objeto que la contiene. (Se hereda de Freezable).
Arriba

  NombreDescripción
Campo públicoMiembro estáticoEndPointPropertyIdentifica la propiedad de dependencia EndPoint.
Campo públicoMiembro estáticoStartPointPropertyIdentifica la propiedad de dependencia StartPoint.
Arriba

  NombreDescripción
Implementación explícita de interfacesMétodo privadoIFormattable.ToStringAplica formato al valor de la instancia actual utilizando el formato especificado. (Se hereda de Brush).
Arriba

LinearGradientBrush pinta un área con un degradado lineal. Un degradado lineal define un degradado a lo largo de una línea. Los puntos finales de la línea vienen definidos por las propiedades StartPoint y EndPoint del degradado lineal. Un pincel LinearGradientBrush pinta GradientStops a lo largo de esta línea.

El degradado lineal predeterminado es diagonal. El valor de StartPoint de un degradado lineal predeterminado es (0,0), la esquina superior izquierda del área que se pinta, y el valor de EndPoint es (1,1), la esquina inferior derecha del área que se pinta. Los colores en el degradado resultante se interpolan a lo largo del trazado diagonal.

En la ilustración siguiente se muestra un degradado diagonal. Se ha agregado una línea para resaltar el trazado de interpolación del degradado desde el punto inicial hasta el punto final.

Degradado lineal diagonal

Eje de degradado para un degradado lineal diagonal

En la ilustración siguiente se muestra el mismo degradado lineal, pero con delimitadores de degradado resaltados.

Degradado lineal diagonal con delimitadores de degradado resaltados

Delimitadores de degradado en un degradado lineal

Es posible especificar un eje de degradado que no rellene íntegramente el área que se pinta. En ese caso, la propiedad SpreadMethod determina cómo se pinta el área restante.

Características de elementos Freezable

LinearGradientBrush es un tipo de objeto Freezable, por lo que se puede inmovilizar para mejorar el rendimiento. Para obtener información sobre las características de los objetos Freezable, como la inmovilización y la clonación, vea Información general sobre objetos Freezable.

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.

Degradado lineal diagonal

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.

Degradado lineal horizontal

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.

Degradado lineal vertical
NotaNota

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 Información general sobre el dibujo con colores sólidos y degradados.

.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Mostrar: