次の方法で共有


StrokeCollection.AddPropertyData(Guid, Object) メソッド

定義

StrokeCollection にカスタム プロパティを追加します。

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)

パラメーター

propertyDataId
Guid

カスタム プロパティに関連付ける Guid

propertyData
Object

カスタム プロパティの値。 propertyData には、CharByteInt16UInt16Int32UInt32Int64UInt64SingleDoubleDateTimeBooleanStringDecimal の各型の値、またはこれらのデータ型 (許可されていない String を除く) の配列を指定する必要があります。

例外

propertyDataId が空の Guid です。

- または -

propertyData が、Parameters セクションに示されている許可されたデータ型の 1 つではありません。

次の例では、カスタム プロパティ データを追加および取得する方法を示します。 メソッドは AddTimeStamp_Click 、 メソッドを AddPropertyData 使用して、現在の時刻を に追加します StrokeCollection。 メソッドは GetTimeStap_Click 、 メソッドを GetPropertyData 使用して からタイムスタンプを StrokeCollection取得します。 この例では、 という名前inkCanvas1の があることをInkCanvas前提としています。

Guid timestamp = new Guid("12345678-9012-3456-7890-123456789012");

// Add a timestamp to the StrokeCollection.
private void AddTimestamp_Click(object sender, RoutedEventArgs e)
{

    inkCanvas1.Strokes.AddPropertyData(timestamp, DateTime.Now);
}

// Get the timestamp of the StrokeCollection.
private void GetTimestamp_Click(object sender, RoutedEventArgs e)
{

    if (inkCanvas1.Strokes.ContainsPropertyData(timestamp))
    {
        object date = inkCanvas1.Strokes.GetPropertyData(timestamp);

        if (date is DateTime)
        {
            MessageBox.Show("This StrokeCollection's timestamp is " +
                ((DateTime)date).ToString());
        }
    }
    else
    {
        MessageBox.Show(
            "The StrokeCollection does not have a timestamp.");
    }
}
Private timestamp As New Guid("12345678-9012-3456-7890-123456789012")

' Add a timestamp to the StrokeCollection.
Private Sub AddTimestamp_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)

    inkCanvas1.Strokes.AddPropertyData(timestamp, DateTime.Now)

End Sub

' Get the timestamp of the StrokeCollection.
Private Sub GetTimestamp_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)

    If inkCanvas1.Strokes.ContainsPropertyData(timestamp) Then

        Dim savedDate As Object = inkCanvas1.Strokes.GetPropertyData(timestamp)

        If TypeOf savedDate Is DateTime Then
            MessageBox.Show("This StrokeCollection's timestamp is " & _
                CType(savedDate, DateTime).ToString())
        End If
    Else
        MessageBox.Show("The StrokeCollection does not have a timestamp.")
    End If

End Sub

注釈

AddPropertyDataメソッドを使用すると、 にカスタム プロパティをStrokeCollection追加できます。 その後、 を使用して追加情報を StrokeCollection含めることができます。

適用対象