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
Spazio dei nomi Microsoft.Windows.Design.PropertyEditing