Freigeben über


DrawingAttributes.AddPropertyData(Guid, Object) Methode

Definition

Fügt dem DrawingAttributes-Objekt eine benutzerdefinierte Eigenschaft hinzu.

public:
 void AddPropertyData(Guid propertyDataId, System::Object ^ propertyData);
public void AddPropertyData (Guid propertyDataId, object propertyData);
member this.AddPropertyData : Guid * obj -> unit
Public Sub AddPropertyData (propertyDataId As Guid, propertyData As Object)

Parameter

propertyDataId
Guid

Die der benutzerdefinierten Eigenschaft zuzuordnende Guid.

propertyData
Object

Der Wert der benutzerdefinierten Eigenschaft. propertyData muss vom Typ Char, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Single, Double, DateTime, Boolean, String, Decimal oder ein Array dieser Datentypen sein. Es darf jedoch kein Array vom Typ String sein.

Ausnahmen

propertyData ist null.

propertyDataId ist eine leere Guid.

- oder -

propertyData ist keiner der im Abschnitt Parameters aufgelisteten zulässigen Datentypen.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie eine benutzerdefinierte Eigenschaft hinzugefügt und aus dem DrawingAttributes -Objekt abgerufen wird. Im Beispiel wird eine Eigenschaft hinzugefügt, die angibt, ob das DrawingAttributes Objekt ein Stift oder ein Textmarker ist. Der Code im ChangeColors_Click Ereignishandler rendert eine neue Farbe für Striche auf der , die InkCanvas das DrawingAttributes -Objekt inkDAverwenden. In diesem Beispiel wird davon ausgegangen, dass ein InkCanvas -Objekt mit dem Namen inkCanvas1und zwei -Objekte mit dem Namen inkDAund highlighterDAvorhanden sindDrawingAttributes.

Guid purposeGuid = new Guid("12345678-9012-3456-7890-123456789012");
string penValue = "pen";
string highlighterValue = "highlighter";

// Add a property to each DrawingAttributes object to 
// specify its use.
private void AssignDrawingAttributesInstrument()
{
    inkDA.AddPropertyData(purposeGuid, penValue);
    highlighterDA.AddPropertyData(purposeGuid, highlighterValue);
}

// Change the color of the ink that on the InkCanvas that used the pen.
void ChangeColors_Click(Object sender, RoutedEventArgs e)
{
    foreach (Stroke s in inkCanvas1.Strokes)
    {
        if (s.DrawingAttributes.ContainsPropertyData(purposeGuid))
        {
            object data = s.DrawingAttributes.GetPropertyData(purposeGuid);

            if ((data is string) && ((string)data == penValue))
            {
                s.DrawingAttributes.Color = Colors.Black;
            }
        }
    }
}
Private purposeGuid As New Guid("12345678-9012-3456-7890-123456789012")
Private penValue As String = "pen"
Private highlighterValue As String = "highlighter"

' Add a property to each DrawingAttributes object to 
' specify its use.
Private Sub AssignDrawingAttributesInstrument()

    inkDA.AddPropertyData(purposeGuid, penValue)
    highlighterDA.AddPropertyData(purposeGuid, highlighterValue)

End Sub

' Change the color of the ink that on the InkCanvas that used the pen.
Private Sub ChangeColors_Click(ByVal sender As [Object], _
        ByVal e As RoutedEventArgs)

    Dim s As Stroke

    For Each s In inkCanvas1.Strokes
        If s.DrawingAttributes.ContainsPropertyData(purposeGuid) Then

            Dim data As Object = s.DrawingAttributes.GetPropertyData(purposeGuid)

            If TypeOf data Is String AndAlso CStr(data) = penValue Then
                s.DrawingAttributes.Color = Colors.Black
            End If

        End If
    Next s

End Sub

Hinweise

Mit AddPropertyData der -Methode können Sie einem DrawingAttributes -Objekt benutzerdefinierte Eigenschaften hinzufügen. Dies ist nützlich, wenn Sie Ihre eigenen Striche rendern und zusätzliche Informationen bereitstellen möchten.

Gilt für: