Partilhar via


DrawingAttributes.AddPropertyData(Guid, Object) Método

Definição

Adiciona uma propriedade personalizada ao objeto DrawingAttributes.

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)

Parâmetros

propertyDataId
Guid

O Guid a ser associado à propriedade personalizada.

propertyData
Object

O valor da propriedade personalizada. propertyData deve ser do tipo Char, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Single, Double, DateTime, Boolean, String, Decimal ou uma matriz desses tipos de dados, no entanto, ele não pode se ruma matriz do tipo String.

Exceções

propertyData é null.

propertyDataId é um Guid vazio.

- ou - propertyData não é um dos tipos de dados permitidos listados na seção Parameters.

Exemplos

O exemplo a seguir demonstra como adicionar e recuperar uma propriedade personalizada do DrawingAttributes objeto. O exemplo adiciona uma propriedade que indica se o DrawingAttributes objeto é uma caneta ou um realce. O código no ChangeColors_Click manipulador de eventos renderiza uma nova cor para traços no InkCanvas que usa o DrawingAttributes objeto. inkDA Este exemplo pressupõe que há um InkCanvas nome e inkCanvas1que há dois DrawingAttributes objetos nomeados inkDAe 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

Comentários

O AddPropertyData método permite adicionar propriedades personalizadas a um DrawingAttributes objeto. Isso é útil quando você renderiza seus próprios traços e deseja fornecer informações extras.

Aplica-se a