次の方法で共有


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 に関連付けられたカスタム プロパティの値。

例外

propertyDataIdDrawingAttributes オブジェクトのカスタム プロパティに関連付けられていません。

次の例では、オブジェクトからカスタム プロパティを追加および取得する方法を DrawingAttributes 示します。 この例では、オブジェクトがペンか蛍光ペンかを DrawingAttributes 示すプロパティを追加します。 イベント ハンドラーのChangeColors_Clickコードは、inkDAオブジェクトを使用するストロークInkCanvasの新しい色をDrawingAttributesレンダリングします。 この例では、InkCanvas名前付きオブジェクトと、名前付きinkCanvas1オブジェクトinkDAが 2 DrawingAttributes つあり、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 は、値が設定されていない場合は、組み込みプロパティの既定値を返します。

適用対象

こちらもご覧ください