DrawingAttributes.GetPropertyData(Guid) 方法

定義

取得與指定 Guid 關聯的自訂屬性值。

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

參數

propertyDataId
Guid

與要取得之自訂屬性關聯的 Guid

傳回

Object

與指定 Guid 關聯的自訂屬性值。

例外狀況

propertyDataId 未與 DrawingAttributes 物件的自訂屬性關聯。

範例

下列範例示範如何從 DrawingAttributes 物件新增和擷取自訂屬性。 此範例會新增屬性,指出 DrawingAttributes 物件是畫筆還是醒目提示。 事件處理常式中的 ChangeColors_Click 程式碼會針對使用 DrawingAttributes 物件 inkDA 之 上的 InkCanvas 筆劃呈現新的色彩。 此範例假設有一 inkCanvas1 個名為 的 ,而且有兩 DrawingAttributes 個名為 InkCanvas inkDA 、 和 的物件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

備註

GetPropertyData使用 方法來存取您新增至 DrawingAttributes 物件的自訂屬性。 GetPropertyData 如果尚未設定值,會傳回內建屬性的預設值。

適用於

另請參閱