CategoryEditor (Clase)

Actualización: noviembre 2007

Clase abstracta para crear editores de categorías personalizados.

Espacio de nombres:  Microsoft.Windows.Design.PropertyEditing
Ensamblado:  Microsoft.Windows.Design (en Microsoft.Windows.Design.dll)

Sintaxis

Public MustInherit Class CategoryEditor

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

Comentarios

Derive de esta clase para proporcionar un CategoryEditor personalizado a un conjunto de propiedades en un host de explorador de propiedades. Esta clase representa una interfaz de usuario personalizada para editar un conjunto de propiedades relacionadas, como las pertenecientes a la categoría Text.

La propiedad TargetCategory indica la categoría de propiedades relacionadas que se editarán con este editor. Por ejemplo, varias propiedades relativas al texto se muestran bajo la categoría Text en la ventana Propiedades. Si un editor está diseñado para editar estas propiedades, la propiedad TargetCategory devolverá "Text".

La propiedad EditorTemplate devuelve la plantilla XAML correspondiente a la interfaz visual de este editor. Suele proporcionarse en un objeto ResourceDictionary en otro punto del proyecto.

Tenga en cuenta que antes de utilizar un objeto CategoryEditor en el diseñador, es preciso registrarlo. Para obtener más información, vea IRegisterMetadata.

Ejemplos

En el siguiente ejemplo de código, se muestra cómo utilizar la clase CategoryEditor. Para obtener más información, vea Tutorial: Crear un editor de categorías.

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

Jerarquía de herencia

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

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Vea también

Referencia

CategoryEditor (Miembros)

Microsoft.Windows.Design.PropertyEditing (Espacio de nombres)

Otros recursos

Arquitectura de edición de propiedades

Extensibilidad de WPF Designer