DrawingAttributes Class
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Specifies drawing attributes that are used to draw a Stroke.
Assembly: System.Windows (in System.Windows.dll)
XMLNS for XAML: Not mapped to an xmlns.
The DrawingAttributes type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | Color | Gets or sets the color that is used to draw a Stroke. |
![]() | Dispatcher | Gets the Dispatcher this object is associated with. (Inherited from DependencyObject.) |
![]() | Height | Gets or sets the height of the stylus that is used to draw a Stroke. |
![]() | OutlineColor | Gets or sets the outline color that is used to draw a Stroke. |
![]() | Width | Gets or sets the width of the stylus that is used to draw a Stroke. |
| Name | Description | |
|---|---|---|
![]() | CheckAccess | Determines whether the calling thread has access to this object. (Inherited from DependencyObject.) |
![]() | ClearValue | Clears the local value of a dependency property. (Inherited from DependencyObject.) |
![]() | Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetAnimationBaseValue | Returns any base value established for a Windows Phone dependency property, which would apply in cases where an animation is not active. (Inherited from DependencyObject.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | GetValue | Returns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ReadLocalValue | Returns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject.) |
![]() | SetValue | Sets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
The DrawingAttributes class allows you to specify drawing attributes, such as height, width, color, and outline color. To apply the drawing attributes to a stroke, you set the Stroke.DrawingAttributes property on a Stroke to a DrawingAttributes object.
For a list of default property values for an instance of the DrawingAttributes class, see the DrawingAttributes constructor.
The following code example simulates three different stylus types (pen, marker, and highlighter) by setting the Height, Width, Color, and OutlineColor properties of a DrawingAttributes object. The example creates a DrawingAttributes object and then applies it to a Stroke object. When the user clicks a stylus type button, the example updates the DrawingAttributes properties. The BtEraser_Click method clears all the strokes from the InkPresenter control.
'A new stroke object, MyStroke, is created and is added to the StrokeCollection object 'of the InkPresenter, MyIP Private Sub MyIP_MouseLeftButtonDown(ByVal sender As Object, ByVal e As MouseEventArgs) MyIP.CaptureMouse() Dim MyStylusPointCollection As StylusPointCollection = New StylusPointCollection MyStylusPointCollection.Add(e.StylusDevice.GetStylusPoints(MyIP)) MyStroke = New Stroke(MyStylusPointCollection) MyStroke.DrawingAttributes = CloneDrawingAttributes(MyDA) MyIP.Strokes.Add(MyStroke) End Sub 'StylusPoint objects are collected from the MouseEventArgs and added to MyStroke Private Sub MyIP_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) If (Not (MyStroke) Is Nothing) Then MyStroke.StylusPoints.Add(e.StylusDevice.GetStylusPoints(MyIP)) End If End Sub 'MyStroke is completed Private Sub MyIP_LostMouseCapture(ByVal sender As Object, ByVal e As MouseEventArgs) MyStroke = Nothing End Sub Private Function CloneDrawingAttributes(ByVal attributes As DrawingAttributes) As DrawingAttributes If (attributes Is Nothing) Then Return attributes End If Dim cloneAttribute As DrawingAttributes = New DrawingAttributes cloneAttribute.Color = attributes.Color cloneAttribute.Height = attributes.Height cloneAttribute.OutlineColor = attributes.OutlineColor cloneAttribute.Width = attributes.Width Return cloneAttribute End Function 'Set drawing attributes to simulate a pen Private Sub BtPen_Click(ByVal sender As Object, ByVal e As EventArgs) MyDA.Width = 1 MyDA.Height = (Double.Epsilon - 1) MyDA.Color = Colors.Gray MyDA.OutlineColor = Colors.Gray End Sub 'Set drawing attributes to simulate a marker Private Sub BtMarker_Click(ByVal sender As Object, ByVal e As EventArgs) MyDA.Width = 10 MyDA.Height = 4 MyDA.Color = Colors.Blue MyDA.OutlineColor = Colors.Blue End Sub 'Set drawing attributes to simulate a highlighter Private Sub BtHighlighter_Click(ByVal sender As Object, ByVal e As EventArgs) MyDA.Width = 25 MyDA.Height = 5 MyDA.Color = Colors.Yellow MyDA.OutlineColor = Colors.Yellow End Sub 'Clear the strokes from the inkpresenter control Private Sub BtEraser_Click(ByVal sender As Object, ByVal e As EventArgs) MyIP.Strokes.Clear() End Sub


