Поделиться через


DrawingAttributes Класс

Определение

Определяет внешний вид Stroke.

public ref class DrawingAttributes : System::ComponentModel::INotifyPropertyChanged
public class DrawingAttributes : System.ComponentModel.INotifyPropertyChanged
type DrawingAttributes = class
    interface INotifyPropertyChanged
Public Class DrawingAttributes
Implements INotifyPropertyChanged
Наследование
DrawingAttributes
Реализации

Примеры

В следующем примере показано, как использовать два DrawingAttributes объекта для имитации с помощью пера и маркера на одном InkCanvasобъекте . В примере предполагается, что корневой элемент в XAML-файле является элементом с DockPanel именем root. Также предполагается, что имеется вызываемый ButtonswitchHighlighter объект и что Click событие подключено к обработчику событий, определенному в этом примере.

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

Комментарии

Используйте свойство , DrawingAttributes чтобы указать такие параметры, как цвет, ширина, прозрачность и форма наконечника пера для Stroke.

Используйте свойство , DefaultDrawingAttributes чтобы указать атрибуты рисования для штрихов, добавленных в InkCanvas. Обновленные атрибуты отображаются только в росчерках, добавленных после DefaultDrawingAttributes изменения. Внешний вид штрихов, которые уже находятся на , InkCanvas не меняется.

Список начальных значений свойств для экземпляра класса DrawingAttributes см. в описании конструктора DrawingAttributes.

Использование текста XAML

Этот класс обычно не используется в XAML.

Конструкторы

DrawingAttributes()

Инициализирует новый экземпляр класса DrawingAttributes.

Поля

MaxHeight

Задает наибольшее значение, допустимое для свойства Height.

MaxWidth

Задает наибольшее значение, допустимое для свойства Width.

MinHeight

Задает наименьшее значение, допустимое для свойства Height.

MinWidth

Задает наименьшее значение, допустимое для свойства Width.

Свойства

Color

Получает или задает цвет Stroke.

FitToCurve

Получает или задает значение, определяющее, используется ли сглаживание Безье при отрисовке Stroke.

Height

Получает или задает высоту пера, используемого при отрисовке Stroke.

IgnorePressure

Получает или задает значение, определяющее, будет ли толщина отрисованного Stroke изменяться в соответствии с силой нажатия на перо.

IsHighlighter

Получает или задает значение, указывающее, выглядит ли Stroke подобно маркеру.

StylusTip

Получает или задает форму пера, используемого при отрисовке Stroke.

StylusTipTransform

Получает или задает значение Matrix, определяющее преобразование, применяемое к кончику пера.

Width

Получает или задает ширину пера, используемого при отрисовке Stroke.

Методы

AddPropertyData(Guid, Object)

Добавляет пользовательское свойство к объекту DrawingAttributes.

Clone()

Копирует объект DrawingAttributes.

ContainsPropertyData(Guid)

Возвращает значение, указывающее, находится ли указанный идентификатор данных свойств в объекте DrawingAttributes.

Equals(Object)

Определяет, равен ли заданный объект DrawingAttributes текущему объекту DrawingAttributes.

GetHashCode()

Выступает в качестве хэш-функции для определенного типа.

GetPropertyData(Guid)

Возвращает значение пользовательского свойства, связанного с указанным Guid.

GetPropertyDataIds()

Возвращает идентификаторы GUID всех пользовательских свойств, связанных с StrokeCollection.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnAttributeChanged(PropertyDataChangedEventArgs)

Вызывает событие AttributeChanged.

OnPropertyChanged(PropertyChangedEventArgs)

Вызывается, если изменяется любое свойство DrawingAttributes.

OnPropertyDataChanged(PropertyDataChangedEventArgs)

Вызывает событие PropertyDataChanged.

RemovePropertyData(Guid)

Удаляет пользовательское свойство, связанное с указанным Guid.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Операторы

Equality(DrawingAttributes, DrawingAttributes)

Определяет, равны ли указанные объекты DrawingAttributes.

Inequality(DrawingAttributes, DrawingAttributes)

Определяет, различаются ли указанные объекты DrawingAttributes.

События

AttributeChanged

Происходит при изменении свойства объекта DrawingAttributes.

PropertyDataChanged

Происходит при добавлении или удалении данных свойств из StrokeCollection.

Явные реализации интерфейса

INotifyPropertyChanged.PropertyChanged

Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.

Происходит при изменении значения любого свойства DrawingAttributes.

Применяется к