DrawingAttributes.AddPropertyData(Guid, Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将一个自定义属性添加到 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)
参数
- propertyData
- Object
此自定义属性的值。
propertyData
必须为 Char、Byte、Int16、UInt16、Int32、UInt32、Int64、UInt64、Single、Double、DateTime、Boolean、String、Decimal 类型或这些数据类型的数组,但它不能为 String 类型的数组。
例外
propertyData
为 null
。
示例
以下示例演示如何从 DrawingAttributes 对象添加和检索自定义属性。 该示例添加一个属性,该属性指示对象是笔还是 DrawingAttributes 荧光笔。 事件处理程序中的ChangeColors_Click
代码为使用 DrawingAttributes 对象的 inkDA
上的InkCanvas笔划呈现新颜色。 此示例假定有一个名为 InkCanvasinkCanvas1
,并且有两 DrawingAttributes 个名为 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
注解
使用 AddPropertyData 方法可将自定义属性添加到 DrawingAttributes 对象。 当你呈现自己的笔划并想要提供额外信息时,这非常有用。