Share via

FrameworkElement.Tag Property


Gets or sets an arbitrary object value that can be used to store custom information about this object.

 property Platform::Object ^ Tag { Platform::Object ^ get(); void set(Platform::Object ^ value); };
IInspectable Tag();

void Tag(IInspectable value);
public object Tag { get; set; }
var object = frameworkElement.tag;
frameworkElement.tag = object;
Public Property Tag As Object
- or -
<frameworkElement Tag="string"/>

Property Value




The intended arbitrary object value. This property has no default value.


The scenario for the Tag property is to provide an general-purpose property on all FrameworkElement classes that supports data binding, animation and styles for itself but where the property's value does not have any implicit meaning to platform subsystems like layout, app model, text, input and so on. For example, you might put a value in the Tag property that has no meaning to the FrameworkElement where it is set, but which could be useful as an ElementName binding value to some other element that uses the FrameworkElement as a DataContext and processes the Tag value in its own way. Or you might use Tag as a way for an applied style to get a value from an arbitrary FrameworkElement parent into a specific applied template using {TemplateBinding} markup extension, without requiring XAML namespace mapping of a specific instance property in app XAML.

Applies to