Share via


IXRDependencyObject::GetAttachedProperty(const WCHAR*, IXRDependencyObject*) (Windows Embedded CE 6.0)

1/6/2010

This method retrieves the value of the specified attached property.

Use this method when the specified attached property has an IXRDependencyObject object type.

Syntax

virtual HRESULT STDMETHODCALLTYPE GetAttachedProperty(
    const WCHAR *pDP,
    IXRDependencyObject **ppValue
) = 0;

Parameters

  • pDP
    [in] Pointer to a string that contains the name of the attached property that you want to retrieve.
  • ppValue
    [out] On return, contains a pointer to an IXRDependencyObject derived object that reflects the value of the property that you specified in pDP.

Return Value

Returns an HRESULT that indicates success or failure.

Returns XR_E_INVALID_PROPERTY if this method was unable to locate the property requested.

Remarks

Attached properties are a concept that is part of the XAML language. You can set an attached property on objects or XAML elements, even if that property is not conventionally defined in the properties list that belongs to the setting object. For attached properties such as Canvas.Top, the object.property notation does not work because the two periods or "dots" in the syntax create ambiguity. Instead, you set attached properties in Silverlight by using a C++ string that defines the full dotted name of the attached property (for example, L"Canvas.Top"). In the pDP parameter, the dot (.) is considered part of the property name/identifier.

You can use this method to retrieve the value of attached properties in Silverlight for Windows Embedded, such as Canvas.Left. In this case, the attached property name consists of the owner class name for the attached property, a dot, and the attached property name ("ownerType.propertyName").

You can call this method to retrieve the value of an attached property in Silverlight, or to retrieve the value of a custom attached property that you created and registered for a user-defined control.

To use a specific interface pointer type, you can use the helper template version of this method that Silverlight for Windows Embedded provides. When you supply a derived type, this version automatically supplies a type-safe method that implicitly converts the returned type from a generic interface so you do not have to explicitly call QueryInterface to convert the generic interface into the required object type. For more information, see Type-Safety in Silverlight for Windows Embedded.

Example

The following lines of C++ code demonstrate the correct syntax for using this method to retrieve the VisualStateManager.VisualStateGroups property for the inheriting IXRUIElement object:

Important

For readability, the following code example does not contain security checking or error handling. Do not use the following code in a production environment.

IXRVisualStateGroupCollection* pGroups = NULL;
myElement->GetAttachedProperty(L"VisualStateManager.VisualStateGroups", (IXRDependencyObject**)&pGroups));

Silverlight Equivalent

GetValue

Requirements

Header XamlRuntime.h
sysgen SYSGEN_XAML_RUNTIME
Windows Embedded CE Windows Embedded CE 6.0 R3

See Also

Reference

IXRDependencyObject::GetAttachedProperty
IXRDependencyObject