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。 它还假定有一个 Button 被调用 switchHighlighter 的 ,并且该 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()

返回与 StrokeCollection 关联的任何自定义属性的 GUID。

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 属性的值更改时发生。

适用于