DrawingAttributes.AddPropertyData(Guid, Object) Metod

Definition

Lägger till en anpassad egenskap i DrawingAttributes objektet.

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)

Parametrar

propertyDataId
Guid

Att Guid associera med den anpassade egenskapen.

propertyData
Object

Värdet för den anpassade egenskapen. propertyDatamåste vara av typen Char, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Single, Double, DateTime, , Boolean, StringDecimaleller en matris av dessa datatyper, men det kan inte vara en matris av typen String.

Undantag

propertyData är null.

propertyDataId är en tom Guid.

-eller-

propertyData är inte en av de tillåtna datatyper som anges i Parameters avsnittet.

Exempel

I följande exempel visas hur du lägger till och hämtar en anpassad egenskap från objektet DrawingAttributes . Exemplet lägger till en egenskap som anger om objektet DrawingAttributes är en penna eller en överstrykningspenna. Koden i ChangeColors_Click händelsehanteraren återger en ny färg för linjer på objektet InkCanvas som använder DrawingAttributes objektet . inkDA Det här exemplet förutsätter att det finns ett InkCanvas med namnet inkCanvas1, och att det finns två DrawingAttributes objekt med namnet inkDA, och 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

Kommentarer

Med AddPropertyData metoden kan du lägga till anpassade egenskaper i ett DrawingAttributes objekt. Detta är användbart när du renderar dina egna linjer och vill ange extra information.

Gäller för