RequirementAttribute-Klasse
Definiert die von der RequirementValidator-Klasse verwendeten Attribute.
Vererbungshierarchie
System.Object
System.Attribute
Microsoft.Windows.Design.RequirementAttribute
Microsoft.Windows.Design.Policies.UsesItemPolicyAttribute
Microsoft.Windows.Design.RequiresContextItemAttribute
Microsoft.Windows.Design.RequiresServiceAttribute
Namespace: Microsoft.Windows.Design
Assembly: Microsoft.Windows.Design.Extensibility (in Microsoft.Windows.Design.Extensibility.dll)
Syntax
'Declaration
Public MustInherit Class RequirementAttribute _
Inherits Attribute
public abstract class RequirementAttribute : Attribute
public ref class RequirementAttribute abstract : public Attribute
[<AbstractClass>]
type RequirementAttribute =
class
inherit Attribute
end
public abstract class RequirementAttribute extends Attribute
Der RequirementAttribute-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
RequirementAttribute | Initialisiert eine neue Instanz der RequirementAttribute-Klasse. |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
AllRequired | Ruft einen Wert ab, der angibt, ob alle Anforderungsattribute des gleichen Typs erforderlich sind. | |
TypeId | Bei Implementierung in einer abgeleiteten Klasse wird ein eindeutiger Bezeichner für dieses Attribute abgerufen. (Von Attribute geerbt.) |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
CreateSubscription | Gibt ein RequirementSubscription-Objekt zurück, das benachrichtigt werden kann, wenn sich die in diesem Attribut enthaltene Anforderung ändert. | |
Equals | Infrastruktur. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Von Attribute geerbt.) | |
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.) | |
GetHashCode | Gibt den Hashcode für diese Instanz zurück. (Von Attribute geerbt.) | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
IsDefaultAttribute | Beim Überschreiben in einer abgeleiteten Klasse wird angegeben, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Von Attribute geerbt.) | |
Match | Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.) | |
MeetsRequirement | Ermittelt, ob der EditingContext die in diesem Attribut angegebenen Anforderungen erfüllt. | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
Zum Seitenanfang
Explizite Schnittstellenimplementierungen
Name | Beschreibung | |
---|---|---|
_Attribute.GetIDsOfNames | Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.) | |
_Attribute.GetTypeInfo | Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Von Attribute geerbt.) | |
_Attribute.GetTypeInfoCount | Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.) | |
_Attribute.Invoke | Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Attribute geerbt.) |
Zum Seitenanfang
Hinweise
Sind von der abstrakten RequirementAttribute-Klasse abgeleitet, um Anforderungen an die Featureanbieter und Featureconnectoren anzugeben.
RequirementValidator überprüft Typen für RequirementAttribute-Attribute. Für jedes gefundene RequirementAttribute wird die abstrakte MeetsRequirement-Methode aufgerufen und eine Instanz der EditingContext-Klasse übergeben. Klassen wie RequiresServiceAttribute sind von RequirementAttribute abgeleitet und überprüfen den Kontext auf das Vorhandensein einer angegebenen Anforderung.
Dieses System ermöglicht dem Designer, nur Code zu aktivieren, der im Bearbeitungskontext erfolgreich ausgeführt werden kann.
Definieren Sie Ihre benutzerdefinierten Anforderungen, indem Sie diese von RequirementAttribute ableiten und die abstrakte MeetsRequirement-Methode implementieren.
Beispiele
Im folgenden Codebeispiel wird das Anfügen einer benutzerdefinierten Ersatzrichtlinie veranschaulicht. Hierfür wird das UsesItemPolicyAttribute verwendet, das sich von RequirementAttribute ableitet. Eine vollständige Codeauflistung finden Sie unter Gewusst wie: Erstellen einer Ersatzrichtlinie.
' 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);
}
}
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Siehe auch
Referenz
Microsoft.Windows.Design-Namespace