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

Der Guid der benutzerdefinierten Eigenschaft zugeordnete Wert.

propertyData
Object

Der Wert der benutzerdefinierten Eigenschaft. propertyDatamuss vom Typ , , , , , Char, Byte, Int16, UInt16Int32, UInt32, Int64, , UInt64, oder SingleDoubleein Array dieser Datentypen sein. Es kann jedoch kein Array vom Typ DateTimesein. BooleanStringDecimalString

Ausnahmen

propertyData ist null.

propertyDataId ist ein leerer Guid.

-oder-

propertyData ist keiner der zulässigen Datentypen, die Parameters im Abschnitt aufgeführt sind.

Beispiele

Im folgenden Beispiel wird das Hinzufügen und Abrufen einer benutzerdefinierten Eigenschaft aus dem DrawingAttributes Objekt veranschaulicht. Im Beispiel wird eine Eigenschaft hinzugefügt, die angibt, ob es sich bei dem DrawingAttributes Objekt um einen Stift oder einen Textmarker handelt. Der Code im ChangeColors_Click Ereignishandler rendert eine neue Farbe für Striche für das Objekt, InkCanvasdas DrawingAttributes das inkDA Objekt verwendet. In diesem Beispiel wird davon ausgegangen, dass es einen InkCanvas benannten inkCanvas1Namen gibt und zwei Objekte benannt DrawingAttributessindinkDA, und highlighterDA.

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 der AddPropertyData 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: