Sdílet prostřednictvím


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

CategoryEditor-Member

Microsoft.Windows.Design.PropertyEditing-Namespace

Weitere Ressourcen

Eigenschaftenbearbeitungsarchitektur

WPF-Designer-Erweiterbarkeit