DrawingAttributes Clase

Definición

Permite especificar el aspecto de un elemento Stroke.

public ref class DrawingAttributes : System::ComponentModel::INotifyPropertyChanged
public class DrawingAttributes : System.ComponentModel.INotifyPropertyChanged
type DrawingAttributes = class
    interface INotifyPropertyChanged
Public Class DrawingAttributes
Implements INotifyPropertyChanged
Herencia
DrawingAttributes
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo usar dos DrawingAttributes objetos para simular mediante un lápiz y un resaltador en el mismo InkCanvas. En el ejemplo se supone que el elemento raíz del archivo XAML es un DockPanel denominado root. También supone que hay un Button llamado switchHighlighter y que el Click evento está conectado al controlador de eventos definido en este ejemplo.

InkCanvas inkCanvas1 = new InkCanvas();
DrawingAttributes inkDA;
DrawingAttributes highlighterDA;
bool useHighlighter = false;

// Add an InkCanvas to the window, and allow the user to 
// switch between using a green pen and a purple highlighter 
// on the InkCanvas.
private void WindowLoaded(object sender, EventArgs e)
{
    inkCanvas1.Background = Brushes.DarkSlateBlue;
    inkCanvas1.DefaultDrawingAttributes.Color = Colors.SpringGreen;

    root.Children.Add(inkCanvas1);

    // Set up the DrawingAttributes for the pen.
    inkDA = new DrawingAttributes();
    inkDA.Color = Colors.SpringGreen;
    inkDA.Height = 5;
    inkDA.Width = 5;
    inkDA.FitToCurve = false;

    // Set up the DrawingAttributes for the highlighter.
    highlighterDA = new DrawingAttributes();
    highlighterDA.Color = Colors.Orchid;
    highlighterDA.IsHighlighter = true;
    highlighterDA.IgnorePressure = true;
    highlighterDA.StylusTip = StylusTip.Rectangle;
    highlighterDA.Height = 30;
    highlighterDA.Width = 10;

    inkCanvas1.DefaultDrawingAttributes = inkDA;
}

// Create a button called switchHighlighter and use 
// SwitchHighlighter_Click to handle the Click event.  
// The useHighlighter variable is a boolean that indicates
// whether the InkCanvas renders ink as a highlighter.

// Switch between using the 'pen' DrawingAttributes and the 
// 'highlighter' DrawingAttributes.
void SwitchHighlighter_Click(Object sender, RoutedEventArgs e)
{
    useHighlighter = !useHighlighter;
    
    if (useHighlighter)
    {
        switchHighlighter.Content = "Use Pen";
        inkCanvas1.DefaultDrawingAttributes = highlighterDA;
    }
    else
    {
        switchHighlighter.Content = "Use Highlighter";
        inkCanvas1.DefaultDrawingAttributes = inkDA;
    }
}
Private WithEvents inkCanvas1 As New InkCanvas()
Private inkDA As DrawingAttributes
Private highlighterDA As DrawingAttributes
Private useHighlighter As Boolean = False

' Add an InkCanvas to the window, and allow the user to 
' switch between using a green pen and a purple highlighter 
' on the InkCanvas.
Private Sub WindowLoaded(ByVal sender As Object, ByVal e As RoutedEventArgs)

    inkCanvas1.Background = Brushes.DarkSlateBlue
    inkCanvas1.DefaultDrawingAttributes.Color = Colors.SpringGreen

    ' Add the InkCanvas to the DockPanel, named root.
    root.Children.Add(inkCanvas1)

    ' Set up the DrawingAttributes for the pen.
    inkDA = New DrawingAttributes()
    With inkDA
        .Color = Colors.SpringGreen
        .Height = 5
        .Width = 5
        .FitToCurve = True
    End With

    ' Set up the DrawingAttributes for the highlighter.
    highlighterDA = New DrawingAttributes()
    With highlighterDA
        .Color = Colors.Orchid
        .IsHighlighter = True
        .IgnorePressure = True
        .StylusTip = StylusTip.Rectangle
        .Height = 30
        .Width = 10
    End With

    inkCanvas1.DefaultDrawingAttributes = inkDA

End Sub


' Create a button called switchHighlighter and use 
' SwitchHighlighter_Click to handle the Click event.  
' The useHighlighter variable is a boolean that indicates
' whether the InkCanvas renders ink as a highlighter.

' Switch between using the 'pen' DrawingAttributes and the 
' 'highlighter' DrawingAttributes when the user clicks on .
Private Sub SwitchHighlighter_Click(ByVal sender As [Object], ByVal e As RoutedEventArgs)

    useHighlighter = Not useHighlighter

    If useHighlighter Then
        switchHighlighter.Content = "Use Pen"
        inkCanvas1.DefaultDrawingAttributes = highlighterDA
    Else

        switchHighlighter.Content = "Use Highlighter"
        inkCanvas1.DefaultDrawingAttributes = inkDA
    End If

End Sub

Comentarios

Use la DrawingAttributes propiedad para especificar valores como color, ancho, transparencia y la forma de la punta del lápiz óptico para .Stroke

Utilice la DefaultDrawingAttributes propiedad para especificar los atributos de dibujo de los trazos agregados a .InkCanvas Solo los trazos que se agregan después del DefaultDrawingAttributes cambio muestran los atributos actualizados. La apariencia de los trazos que ya están en el InkCanvas no cambia.

Para obtener una lista con los valores de propiedad iniciales de una instancia de la clase DrawingAttributes, vea el constructor DrawingAttributes.

Uso de texto XAML

Esta clase no se usa normalmente en XAML.

Constructores

DrawingAttributes()

Inicializa una nueva instancia de la clase DrawingAttributes.

Campos

MaxHeight

Especifica el mayor valor permitido para la propiedad Height.

MaxWidth

Especifica el mayor valor permitido para la propiedad Width.

MinHeight

Especifica el menor valor permitido para la propiedad Height.

MinWidth

Especifica el menor valor permitido para la propiedad Width.

Propiedades

Color

Obtiene o establece el color de un objeto Stroke.

FitToCurve

Obtiene o establece un valor que indica si se utiliza el suavizado Bézier para representar el objeto Stroke.

Height

Obtiene o establece el alto del lápiz óptico utilizado para dibujar el objeto Stroke.

IgnorePressure

Obtiene o establece un valor que indica si el grosor de un objeto Stroke representado cambia según la presión aplicada.

IsHighlighter

Obtiene o establece un valor que indica si el objeto Stroke se parece a un marcador de resaltado.

StylusTip

Obtiene o establece la forma del lápiz óptico utilizado para dibujar el objeto Stroke.

StylusTipTransform

Obtiene o establece el objeto Matrix que especifica la transformación que se va a realizar en la punta del lápiz óptico.

Width

Obtiene o establece el ancho del lápiz óptico utilizado para dibujar el objeto Stroke.

Métodos

AddPropertyData(Guid, Object)

Agrega una propiedad personalizada al objeto DrawingAttributes.

Clone()

Copia el objeto DrawingAttributes.

ContainsPropertyData(Guid)

Devuelve un valor que indica si el identificador de datos de propiedad especificado está definido en el objeto DrawingAttributes.

Equals(Object)

Determina si el objeto DrawingAttributes especificado es igual al objeto DrawingAttributes actual.

GetHashCode()

Sirve como función de hash para un tipo concreto.

GetPropertyData(Guid)

Obtiene el valor de la propiedad personalizada asociada al Guid especificado.

GetPropertyDataIds()

Devuelve los GUID de todas las propiedades personalizadas asociadas a StrokeCollection.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnAttributeChanged(PropertyDataChangedEventArgs)

Genera el evento AttributeChanged.

OnPropertyChanged(PropertyChangedEventArgs)

Se produce cuando cambia cualquier proiedad de DrawingAttributes.

OnPropertyDataChanged(PropertyDataChangedEventArgs)

Genera el evento PropertyDataChanged.

RemovePropertyData(Guid)

Quita la propiedad personalizada asociada al Guid especificado.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Operadores

Equality(DrawingAttributes, DrawingAttributes)

Determina si los objetos DrawingAttributes especificados son iguales.

Inequality(DrawingAttributes, DrawingAttributes)

Determina si los objetos DrawingAttributes especificados no son iguales.

Eventos

AttributeChanged

Se produce cuando cambia una propiedad en el objeto DrawingAttributes.

PropertyDataChanged

Se produce cuando se agregan o se quitan datos de propiedad de la colección StrokeCollection.

Implementaciones de interfaz explícitas

INotifyPropertyChanged.PropertyChanged

Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código.

Se produce cuando ha cambiado el valor de alguna propiedad de DrawingAttributes.

Se aplica a