AttachablePropertyServices Class

.NET Framework (current version)
 

Provides static helper methods that obtain values and accessor method information from an attachable property and that work with an attached property store.

Namespace:   System.Xaml
Assembly:  System.Xaml (in System.Xaml.dll)

System.Object
  System.Xaml.AttachablePropertyServices

public static class AttachablePropertyServices

NameDescription
System_CAPS_pubmethodSystem_CAPS_staticCopyPropertiesTo(Object, KeyValuePair<AttachableMemberIdentifier, Object>[], Int32)

Copies all attachable property/value pairs from a specified attachable property store and into a destination array.

System_CAPS_pubmethodSystem_CAPS_staticGetAttachedPropertyCount(Object)

Returns the count of the attachable property entries that are in the specified store.

System_CAPS_pubmethodSystem_CAPS_staticRemoveProperty(Object, AttachableMemberIdentifier)

Removes the entry for the specified attachable property from the specified store.

System_CAPS_pubmethodSystem_CAPS_staticSetProperty(Object, AttachableMemberIdentifier, Object)

Sets a value for the specified attachable property in the specified store.

System_CAPS_pubmethodSystem_CAPS_staticTryGetProperty(Object, AttachableMemberIdentifier, Object)

Attempts to get a value for the specified attachable property in the specified store. Does not throw an exception if the specific attachable property does not exist in the store.

System_CAPS_pubmethodSystem_CAPS_staticTryGetProperty<T>(Object, AttachableMemberIdentifier, T)

Attempts to get a value for the specified attachable property in the specified store, returning a generic output form. Does not throw an exception if the specific attachable property does not exist in the store.

Most functionality in this class relies on an attached property store, which generally implements the IAttachedPropertyStore interface. However, parameters for passing the store into AttachablePropertyServices are not typed as the interface and are instead typed as object. This is because you can pass an arbitrary object, and in this case, an internal default attachable property store is used.

Best practice for the arbitrary object is to pass the object that would otherwise be associated with the store. Do not pass null to indicate that you do not have an IAttachedPropertyStore to use. Passing null enters code paths that do nothing. Passing an object that is non-null, but evaluates as null on an attempted IAttachedPropertyStore cast, uses the default attachable property store.

.NET Framework
Available since 4.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: