DrawingAttributes 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定 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
。 它还假定有一个 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 属性的值更改时发生。 |