CategoryEditor-Klasse
Aktualisiert: November 2007
Eine abstrakte Klasse zum Erstellen eines benutzerdefinierten Kategorie-Editors.
Namespace: Microsoft.Windows.Design.PropertyEditing
Assembly: Microsoft.Windows.Design (in Microsoft.Windows.Design.dll)
Syntax
'Declaration
Public MustInherit Class CategoryEditor
'Usage
Dim instance As CategoryEditor
public abstract class CategoryEditor
public ref class CategoryEditor abstract
public abstract class CategoryEditor
Hinweise
Leiten Sie von dieser Klasse ab, um einen CategoryEditor für einen Satz von Eigenschaften in einem Eigenschaftenbrowserhost bereitzustellen. Durch diese Klasse wird eine eigene Benutzeroberfläche für die Bearbeitung einer zugehörigen Gruppe von Eigenschaften, z. B. den Eigenschaften in der Textkategorie, dargestellt.
Die TargetCategory-Eigenschaft gibt die Kategorie zugehöriger Eigenschaften an, die dieser Editor bearbeiten soll. Im Eigenschaftenfenster werden beispielsweise verschiedene textbezogene Eigenschaften unter der Textkategorie angezeigt. Wenn ein Editor für die Bearbeitung dieser Eigenschaften entworfen wurde, gibt die TargetCategory-Eigenschaft "Text" zurück.
Die EditorTemplate-Eigenschaft gibt die XAML-Vorlage für die visuelle Schnittstelle für diesen Editor zurück. Diese wird normalerweise in einem ResourceDictionary an anderer Stelle des Projekts zur Verfügung gestellt.
Beachten Sie, dass ein CategoryEditor registriert werden muss, damit er vom Designer verwendet wird. Weitere Informationen finden Sie unter IRegisterMetadata.
Beispiele
Im folgenden Codebeispiel wird die Verwendung der CategoryEditor-Klasse veranschaulicht. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen eines Kategorie-Editors.
Public Class TextCategoryEditor
Inherits CategoryEditor
' The EditorResources class in this example inherits ResourceDirectory and
' contains the template for the category editor. This would be defined in
' an associated XAML file named EditorResources.xaml
Private res As New EditorResources()
Public Overrides Function ConsumesProperty(ByVal prop As PropertyEntry) As Boolean
Return True
End Function
Public Overrides ReadOnly Property EditorTemplate() As System.Windows.DataTemplate
Get
Return CType(res("TextCategoryEditorTemplate"), DataTemplate)
End Get
End Property
Public Overrides Function GetImage(ByVal desiredSize As System.Windows.Size) As Object
Return Nothing
End Function
Public Overrides ReadOnly Property TargetCategory() As String
Get
Return "Text"
End Get
End Property
End Class
public class TextCategoryEditor : CategoryEditor
{
// The EditorResources class in this example inherits ResourceDictionary
// and contains template for the category editor. This would be
// defined in an associated XAML file named EditorResources.xaml
private EditorResources res = new EditorResources();
public TextCategoryEditor()
{
}
public override bool ConsumesProperty(PropertyEntry property)
{
return true;
}
public override DataTemplate EditorTemplate
{
get
{
return res["TextCategoryEditorTemplate"] as DataTemplate;
}
}
public override object GetImage(Size desiredSize)
{
return null;
}
public override string TargetCategory
{
get { return "Text"; }
}
}
Vererbungshierarchie
System.Object
Microsoft.Windows.Design.PropertyEditing.CategoryEditor
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.PropertyEditing-Namespace