CategoryEditor, classe

Mise à jour : novembre 2007

Classe abstraite permettant de créer des éditeurs de catégories personnalisés.

Espace de noms :  Microsoft.Windows.Design.PropertyEditing
Assembly :  Microsoft.Windows.Design (dans Microsoft.Windows.Design.dll)

Syntaxe

Public MustInherit Class CategoryEditor

Dim instance As CategoryEditor
public abstract class CategoryEditor
public ref class CategoryEditor abstract
public abstract class CategoryEditor

Notes

Dérivez de cette classe pour fournir un CategoryEditor personnalisé pour un jeu de propriétés dans un hôte de navigateur de propriétés. Cette classe représente une interface utilisateur personnalisée permettant de modifier un jeu connexe de propriétés, comme les propriétés de la catégorie Text.

La propriété TargetCategory détermine la catégorie de propriétés connexes que cet éditeur peut modifier. Par exemple, plusieurs propriétés liées au texte sont affichées dans la fenêtre Propriétés sous la catégorie Text. Si un éditeur est conçu pour modifier ces propriétés, la propriété TargetCategory retourne "Text".

La propriété EditorTemplate retourne le modèle XAML pour l'interface graphique de cet éditeur. Cet élément est généralement fourni dans un ResourceDictionary situé ailleurs dans le projet.

Notez que pour que le concepteur puisse utiliser CategoryEditor, celui-ci doit être enregistré au préalable. Pour plus d'informations, consultez IRegisterMetadata.

Exemples

L'exemple de code suivant montre comment utiliser la classe CategoryEditor. Pour plus d'informations, consultez Procédure pas à pas : création d'un éditeur de catégories.

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"; }
    }
}

Hiérarchie d'héritage

System.Object
  Microsoft.Windows.Design.PropertyEditing.CategoryEditor

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Membres CategoryEditor

Microsoft.Windows.Design.PropertyEditing, espace de noms

Autres ressources

Architecture d'édition de propriété

Extensibilité du concepteur WPF