UsesItemPolicyAttribute 类
[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。]
使功能提供程序限定于指定的策略。
继承层次结构
System.Object
System.Attribute
Microsoft.Windows.Design.RequirementAttribute
Microsoft.Windows.Design.Policies.UsesItemPolicyAttribute
命名空间: Microsoft.Windows.Design.Policies
程序集: Microsoft.Windows.Design.Interaction(在 Microsoft.Windows.Design.Interaction.dll 中)
语法
声明
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True)> _
Public NotInheritable Class UsesItemPolicyAttribute _
Inherits RequirementAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true)]
public sealed class UsesItemPolicyAttribute : RequirementAttribute
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple = true)]
public ref class UsesItemPolicyAttribute sealed : public RequirementAttribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true)>]
type UsesItemPolicyAttribute =
class
inherit RequirementAttribute
end
public final class UsesItemPolicyAttribute extends RequirementAttribute
UsesItemPolicyAttribute 类型公开以下成员。
构造函数
名称 | 说明 | |
---|---|---|
UsesItemPolicyAttribute | 初始化 UsesItemPolicyAttribute 类的新实例。 |
页首
属性
名称 | 说明 | |
---|---|---|
AllRequired | 重写 RequirementAttribute.AllRequired 属性以便返回 false 属性。 (重写 RequirementAttribute.AllRequired。) | |
ItemPolicyType | 获取与功能提供程序相关联的策略类型。 | |
TypeId | 获取此特性的类型 ID。 (重写 Attribute.TypeId。) |
页首
方法
名称 | 说明 | |
---|---|---|
CreateSubscription | 返回当此策略可用时,用于通知的 RequirementSubscription 对象。 (重写 RequirementAttribute.CreateSubscription(EditingContext)。) | |
Equals | 确定指定对象是否等于该 UsesItemPolicyAttribute。 (重写 Attribute.Equals(Object)。) | |
Finalize | 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。) | |
GetHashCode | 返回此属性 (Attribute) 的哈希代码。 (重写 Attribute.GetHashCode()。) | |
GetType | 获取当前实例的 Type。 (继承自 Object。) | |
IsDefaultAttribute | 当在派生类中重写时,指示此实例的值是否是派生类的默认值。 (继承自 Attribute。) | |
Match | 当在派生类中重写时,返回一个指示此实例是否等于指定对象的值。 (继承自 Attribute。) | |
MeetsRequirement | 返回一个值,该值指示指定的编辑上下文中是否包含与此特性实例关联的 ItemPolicyType。 (重写 RequirementAttribute.MeetsRequirement(EditingContext)。) | |
MemberwiseClone | 创建当前 Object 的浅表副本。 (继承自 Object。) | |
ToString | 返回表示当前对象的字符串。 (继承自 Object。) |
页首
显式接口实现
名称 | 说明 | |
---|---|---|
_Attribute.GetIDsOfNames | 将一组名称映射为对应的一组调度标识符。 (继承自 Attribute。) | |
_Attribute.GetTypeInfo | 检索对象的类型信息,然后可以使用该信息获取接口的类型信息。 (继承自 Attribute。) | |
_Attribute.GetTypeInfoCount | 检索对象提供的类型信息接口的数量(0 或 1)。 (继承自 Attribute。) | |
_Attribute.Invoke | 提供对某一对象公开的属性和方法的访问。 (继承自 Attribute。) |
页首
备注
不是所有的扩展都支持策略。
示例
以下代码示例演示如何通过使用 UsesItemPolicyAttribute 将自定义代理项策略附加到功能提供程序中。 有关完整的代码清单,请参见如何:创建代理项策略。
' 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(GetType(DockPanelPolicy))> _
Class DockPanelAdornerProvider
Inherits AdornerProvider
Public Sub New()
' The adorner is a Rectangle element.
Dim r As 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)
Dim p As New AdornerPanel()
p.Children.Add(r)
AdornerPanel.SetTask(r, New DockPanelMarginTask())
Adorners.Add(p)
End Sub
End Class
// 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);
}
}
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
请参见
参考
Microsoft.Windows.Design.Policies 命名空间