Freigeben über


DrawingAttributes.GetPropertyData(Guid) Methode

Definition

Ruft den Wert der benutzerdefinierten Eigenschaft ab, die der angegebenen Guid zugeordnet ist.

public:
 System::Object ^ GetPropertyData(Guid propertyDataId);
public object GetPropertyData (Guid propertyDataId);
member this.GetPropertyData : Guid -> obj
Public Function GetPropertyData (propertyDataId As Guid) As Object

Parameter

propertyDataId
Guid

Die Guid, die der abzurufenden benutzerdefinierten Eigenschaft zugeordnet ist.

Gibt zurück

Object

Der Wert der benutzerdefinierten Eigenschaft, die der angegebenen Guid zugeordnet ist.

Ausnahmen

propertyDataId ist keiner benutzerdefinierten Eigenschaft des DrawingAttributes-Objekts zugeordnet.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie Sie eine benutzerdefinierte Eigenschaft aus dem DrawingAttributes Objekt hinzufügen und abrufen. 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, inkDAdas InkCanvas das DrawingAttributes Objekt verwendet. In diesem Beispiel wird davon ausgegangen, dass es einen InkCanvas benannten inkCanvas1Namen gibt, und es gibt zwei DrawingAttributes Objekte mit dem Namen inkDA", 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

Verwenden Sie die GetPropertyData Methode, um auf benutzerdefinierte Eigenschaften zuzugreifen, die Sie einem DrawingAttributes Objekt hinzugefügt haben. GetPropertyData gibt den Standardwert für die integrierte Eigenschaft zurück, wenn kein Wert festgelegt wurde.

Gilt für

Siehe auch