UsesItemPolicyAttribute Class
Restricts a feature provider to a specified policy.
System.Object
System.Attribute
Microsoft.Windows.Design.RequirementAttribute
Microsoft.Windows.Design.Policies.UsesItemPolicyAttribute
System.Attribute
Microsoft.Windows.Design.RequirementAttribute
Microsoft.Windows.Design.Policies.UsesItemPolicyAttribute
Assembly: Microsoft.Windows.Design.Interaction (in Microsoft.Windows.Design.Interaction.dll)
The UsesItemPolicyAttribute type exposes the following members.
| Name | Description | |
|---|---|---|
|
UsesItemPolicyAttribute | Initializes a new instance of the UsesItemPolicyAttribute class. |
| Name | Description | |
|---|---|---|
|
AllRequired | Overrides the RequirementAttribute.AllRequired property to return false. (Overrides RequirementAttribute.AllRequired.) |
|
ItemPolicyType | Gets the type of policy the feature provider can be associated with. |
|
TypeId | Gets the type ID for this attribute. (Overrides Attribute.TypeId.) |
| Name | Description | |
|---|---|---|
|
CreateSubscription | Returns a RequirementSubscription object that can be used to be notified when this policy is available. (Overrides RequirementAttribute.CreateSubscription(EditingContext).) |
|
Equals | Determines whether the specified object is equal to this UsesItemPolicyAttribute. (Overrides Attribute.Equals(Object).) |
|
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
|
GetHashCode | Returns the hash code for this attribute. (Overrides Attribute.GetHashCode().) |
|
GetType | Gets the Type of the current instance. (Inherited from Object.) |
|
IsDefaultAttribute | When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class. (Inherited from Attribute.) |
|
Match | When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute.) |
|
MeetsRequirement | Returns a value indicating whether the specified editing context contains the ItemPolicyType associated with this attribute instance. (Overrides RequirementAttribute.MeetsRequirement(EditingContext).) |
|
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
|
ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
|
_Attribute.GetIDsOfNames | Maps a set of names to a corresponding set of dispatch identifiers. (Inherited from Attribute.) |
|
_Attribute.GetTypeInfo | Retrieves the type information for an object, which can be used to get the type information for an interface. (Inherited from Attribute.) |
|
_Attribute.GetTypeInfoCount | Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from Attribute.) |
|
_Attribute.Invoke | Provides access to properties and methods exposed by an object. (Inherited from Attribute.) |
The following code example shows how to attach a custom surrogate policy to a feature provider by using UsesItemPolicyAttribute. For a full code listing, see How to: Create a Surrogate Policy.
// The DockPanelAdornerProvider class implements an adorner // that you can use to set the Margin property by using a // drag operation. The DockPanelPolicy class enables a // container policy for offering additional tasks and // adorners on the panel's children. [UsesItemPolicy(typeof(DockPanelPolicy))] class DockPanelAdornerProvider : AdornerProvider { public DockPanelAdornerProvider() { // The adorner is a Rectangle element. Rectangle r = new Rectangle(); r.Width = 23.0; r.Height = 23.0; r.Fill = AdornerColors.GlyphFillBrush; // Set the rectangle's placement in the adorner panel. AdornerPanel.SetAdornerHorizontalAlignment(r, AdornerHorizontalAlignment.OutsideLeft); AdornerPanel.SetAdornerVerticalAlignment(r, AdornerVerticalAlignment.OutsideTop); AdornerPanel p = new AdornerPanel(); p.Children.Add(r); AdornerPanel.SetTask(r, new DockPanelMarginTask()); Adorners.Add(p); } }