DrawingAttributes.AddPropertyData(Guid, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет пользовательское свойство к объекту 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
.
propertyDataId
является пустым Guid.
-или-
Параметр propertyData
не относится ни к одному из разрешенных типов данных, перечисленных в разделе Parameters
.
Примеры
В следующем примере показано, как добавить и извлечь пользовательское DrawingAttributes свойство из объекта . В примере добавляется свойство , указывающее, является ли DrawingAttributes объект пером или маркером. Код в обработчике ChangeColors_Click
событий отрисовывает новый цвет для штрихов на InkCanvas объекте DrawingAttributes , который использует объект . inkDA
В этом примере предполагается, что имеется объект с InkCanvas именем и два DrawingAttributes объекта с именами inkDA
, и highlighterDA
inkCanvas1
.
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 объект . Это полезно, если вы отрисовываете собственные штрихи и хотите предоставить дополнительные сведения.