导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

DrawingAttributes 类

2013/12/13

指定用于绘制 Stroke 的绘制特性。

System.Object
  System.Windows.DependencyObject
    System.Windows.Ink.DrawingAttributes

Namespace:  System.Windows.Ink
程序集:  System.Windows(位于 System.Windows.dll 中)
XMLNS for XAML: 未映射到 xmlns。

public sealed class DrawingAttributes : DependencyObject
<DrawingAttributes .../>

DrawingAttributes 类型公开以下成员。

  名称说明
公共方法DrawingAttributes初始化 DrawingAttributes 类的新实例。
返回顶部

  名称说明
公共属性Color获取或设置用于绘制 Stroke 的颜色。
公共属性Dispatcher获取与此对象关联的 Dispatcher (从 DependencyObject 继承。)
公共属性Height获取或设置用于绘制 Stroke 的触笔的高度。
公共属性OutlineColor获取或设置用于绘制 Stroke 的轮廓颜色。
公共属性Width获取或设置用于绘制 Stroke 的触笔的宽度。
返回顶部

  名称说明
公共方法CheckAccess确定调用线程是否可以访问此对象。 (从 DependencyObject 继承。)
公共方法ClearValue清除依赖项属性的本地值。 (从 DependencyObject 继承。)
公共方法Equals(Object)确定指定的 Object 是否等于当前的 Object (从 Object 继承。)
受保护的方法Finalize允许 Object 在垃圾回收器回收该对象之前尝试释放资源并执行其他清理操作。 (从 Object 继承。)
公共方法GetAnimationBaseValue返回为 Windows Phone 依赖项属性设置的任意基值,在动画不活动时将应用它们。 (从 DependencyObject 继承。)
公共方法GetHashCode用作特定类型的哈希函数。 (从 Object 继承。)
公共方法GetType获取当前实例的 Type (从 Object 继承。)
公共方法GetValueDependencyObject 返回依赖项属性的当前有效值。 (从 DependencyObject 继承。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (从 Object 继承。)
公共方法ReadLocalValue返回依赖项属性的本地值(如果设置了本地值)。 (从 DependencyObject 继承。)
公共方法SetValueDependencyObject 设置依赖项属性的本地值。 (从 DependencyObject 继承。)
公共方法ToString返回一个字符串,它表示当前的对象。 (从 Object 继承。)
返回顶部

DrawingAttributes 类可用于指定绘制特性,例如高度、宽度、颜色和轮廓颜色等。若要对某一笔画应用绘制特性,则将对 StrokeStroke.DrawingAttributes 属性设置为某一 DrawingAttributes 对象。

有关 DrawingAttributes 类的实例的默认属性值列表,请参见 DrawingAttributes 构造函数。

下面的代码示例通过设置 DrawingAttributes 对象的 HeightWidthColorOutlineColor 属性,来模拟三种不同的触笔类型(钢笔、标记和荧光笔)。该示例创建一个 DrawingAttributes 对象,之后将其应用于 Stroke 对象。在用户单击某一触笔类型按钮时,该示例更新 DrawingAttributes 属性。BtEraser_Click 方法从 InkPresenter 控件清除所有笔画。



//A new stroke object named MyStroke is created. MyStroke is added to the StrokeCollection of the InkPresenter named MyIP
private void MyIP_MouseLeftButtonDown(object sender, MouseEventArgs e)
{
    MyIP.CaptureMouse();
    StylusPointCollection MyStylusPointCollection = new StylusPointCollection();
    MyStylusPointCollection.Add(e.StylusDevice.GetStylusPoints(MyIP));
    MyStroke = new Stroke(MyStylusPointCollection);
    MyStroke.DrawingAttributes = CloneDrawingAttributes(MyDA);
    MyIP.Strokes.Add(MyStroke);
}

//StylusPoint objects are collected from the MouseEventArgs and added to MyStroke
private void MyIP_MouseMove(object sender, MouseEventArgs e)
{
    if (MyStroke != null)
        MyStroke.StylusPoints.Add(e.StylusDevice.GetStylusPoints(MyIP));
}

//MyStroke is completed
private void MyIP_LostMouseCapture(object sender, MouseEventArgs e)
{
    MyStroke = null;
}

private DrawingAttributes CloneDrawingAttributes(DrawingAttributes attributes)
{
    if (attributes == null)
        return attributes;

    DrawingAttributes cloneAttribute = new DrawingAttributes();
    cloneAttribute.Color = attributes.Color;
    cloneAttribute.Height = attributes.Height;
    cloneAttribute.OutlineColor = attributes.OutlineColor;
    cloneAttribute.Width = attributes.Width;
    return cloneAttribute;
}

//Set drawing attributes to simulate a pen
private void BtPen_Click(object sender, EventArgs e)
{
    MyDA.Width = 1;
    MyDA.Height = Double.Epsilon - 1;
    MyDA.Color = Colors.Gray;
    MyDA.OutlineColor = Colors.Gray;
}

//Set drawing attributes to simulate a marker
private void BtMarker_Click(object sender, EventArgs e)
{
    MyDA.Width = 10;
    MyDA.Height = 4;
    MyDA.Color = Colors.Blue;
    MyDA.OutlineColor = Colors.Blue;
}

//Set drawing attributes to simulate a highlighter
private void BtHighlighter_Click(object sender, EventArgs e)
{
    MyDA.Width = 25;
    MyDA.Height = 5;
    MyDA.Color = Colors.Yellow;
    MyDA.OutlineColor = Colors.Yellow;
}

//Clear the strokes from the inkpresenter control
private void BtEraser_Click(object sender, EventArgs e)
{
    MyIP.Strokes.Clear();
}

private void SetBoundary()
{
    RectangleGeometry MyRectangleGeometry = new RectangleGeometry();
    MyRectangleGeometry.Rect = new Rect(0, 0, MyIP.ActualHeight, MyIP.ActualWidth);
    MyIP.Clip = MyRectangleGeometry;
}


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

此类型的所有公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

显示:
© 2014 Microsoft