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


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-файле вызывается DockPanelroot. В нем также предполагается, что вызывается 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

Возвращает или задает значение, указывающее, используется ли сглаживание Bezier для отрисовки 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 свойства.

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