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 客製化房產有關。

傳回

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

例外狀況

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

範例

以下範例示範如何從物件中新增及擷取自訂屬性 DrawingAttributes 。 範例中新增了一個屬性,指示物體是 DrawingAttributes 筆還是螢光筆。 事件處理程式中的ChangeColors_Click程式碼會為使用InkCanvas物件 的筆劃DrawingAttributes渲染新顏色。 inkDA 此範例假設存在一個 InkCanvas 名為 inkCanvas1、 的物件,以及兩個 DrawingAttributes 名為 inkDAhighlighterDA的對象。

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 若未設定該屬性的預設值,則回傳該內建屬性的預設值。

適用於

另請參閱