Condividi tramite


Classe CategoryEditor

Aggiornamento: novembre 2007

Classe astratta per la creazione di editor di categorie personalizzati.

Spazio dei nomi:  Microsoft.Windows.Design.PropertyEditing
Assembly:  Microsoft.Windows.Design (in Microsoft.Windows.Design.dll)

Sintassi

Public MustInherit Class CategoryEditor

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

Note

Derivare da questa classe per fornire un oggetto CategoryEditor personalizzato per un insieme di proprietà nell'host di un Visualizzatore proprietà. Questa classe rappresenta un'interfaccia utente personalizzata per la modifica di un insieme correlato di proprietà, ad esempio le proprietà della categoria Testo.

La proprietà TargetCategory indica la categoria delle proprietà correlate che questo editor deve modificare. Ad esempio, molte proprietà correlate al testo vengono visualizzate nella categoria Testo della finestra Proprietà. Se un editor viene progettato per modificare queste proprietà, la proprietà TargetCategory restituisce "Text".

La proprietà EditorTemplate restituisce il modello XAML per l'interfaccia visiva di questo editor. Tale modello, in genere viene fornito in un oggetto ResourceDictionary in un altro punto del progetto.

Notare che un oggetto CategoryEditor deve essere registrato, prima di poter essere utilizzato nella finestra di progettazione. Per ulteriori informazioni, vedere IRegisterMetadata.

Esempi

Nell'esempio di codice seguente viene illustrato come utilizzare la classe CategoryEditor. Per ulteriori informazioni, vedere Procedura dettagliata: creazione di un editor di categorie.

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

Gerarchia di ereditarietà

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

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Membri CategoryEditor

Spazio dei nomi Microsoft.Windows.Design.PropertyEditing

Altre risorse

Architettura di modifica delle proprietà

Estensibilità di Progettazione WPF