Compartir por


ExpressionEditorSheet Clase

Definición

Representa una hoja de editor en tiempo de diseño para una expresión personalizada. Esta clase debe heredarse.

public ref class ExpressionEditorSheet abstract
public abstract class ExpressionEditorSheet
type ExpressionEditorSheet = class
Public MustInherit Class ExpressionEditorSheet
Herencia
ExpressionEditorSheet
Derivado

Comentarios

Una hoja del editor de expresiones personalizadas permite a un desarrollador establecer propiedades en una expresión personalizada en tiempo de diseño. Los valores de propiedad de control se pueden establecer mediante cadenas de expresión; Un generador de expresiones evalúa las cadenas de expresión en tiempo de ejecución y en tiempo de diseño mediante un editor de expresiones.

Al examinar la Expressions propiedad de un control en la cuadrícula de propiedades en tiempo de diseño, el diseñador visual muestra un cuadro de diálogo para establecer expresiones que proporcionan el valor de una propiedad de control. Puede seleccionar el tipo de expresión en función de una lista de prefijos de expresión. Al seleccionar un prefijo de expresión de la lista, el diseñador visual usa los objetos y ExpressionEditorSheet asociados ExpressionEditor para evaluar y convertir la cadena de expresión en función de la sintaxis de ese tipo de expresión. El diseñador visual usa las propiedades de la hoja del editor de expresiones para solicitar una o varias cadenas que se combinan en la cadena de expresión personalizada.

Normalmente, para proporcionar un nuevo tipo de expresión en tiempo de diseño, se define un prefijo de expresión único y se proporcionan implementaciones personalizadasExpressionBuilder.ExpressionEditor Opcionalmente, puede proporcionar una implementación personalizada ExpressionEditorSheet que defina las propiedades que se usan para formar la expresión. Para asociar un prefijo de expresión a un generador de expresiones y un editor de expresiones, aplique el ExpressionEditorAttribute atributo y un ExpressionPrefixAttribute atributo a la clase personalizada ExpressionBuilder y, a continuación, configure el prefijo de expresión para un generador de expresiones en el expressionBuilders elemento del archivo de configuración web.

La implementación predeterminada del GetExpressionEditorSheet método devuelve una hoja de editor básica, que usa una sola cadena de entrada para formar la expresión. Los editores de expresiones personalizados derivados de ExpressionEditor pueden invalidar el GetExpressionEditorSheet método para devolver una implementación de hoja de editor personalizada. Normalmente, una hoja de editor personalizada contiene varias propiedades que se usan para compilar la cadena de expresión. El GetExpression método devuelve la cadena de expresión resultante basada en las propiedades de expresión actuales.

Por ejemplo, la ResourceExpressionEditor clase deriva de la ExpressionEditor clase y proporciona una implementación para evaluar y asociar una referencia de cadena de recursos con una propiedad de control en tiempo de diseño. La ResourceExpressionBuilder clase está asociada al prefijo Resources de expresión y a la ResourceExpressionEditor implementación. El GetExpressionEditorSheet método devuelve un ResourceExpressionEditorSheet, que define las propiedades individuales que forman una expresión de referencia de recursos.

Al heredar de la ExpressionEditorSheet clase , debe invalidar los miembros siguientes:

  • Método GetExpressionEditorSheet para devolver una implementación de hoja de editor personalizada.

  • Constructor ExpressionEditorSheet para implementar acciones de inicialización personalizadas para la implementación de la hoja del editor de expresiones.

Notas a los implementadores

Derive una hoja del editor de expresiones personalizada de la ExpressionEditorSheet clase , si va a definir un nuevo tipo de expresión para los valores de propiedad de control y desea crear la cadena de expresión basada en varios valores de propiedad de expresión. Una implementación de clase derivada debe contener lo siguiente:

  • Propiedad pública para cada valor distinto de la cadena de expresión que se puede establecer en tiempo de diseño.

  • Implementación del GetExpression() método que forma la cadena de expresión personalizada a partir de los valores de propiedad de la hoja de editor.

  • Opcionalmente, una implementación de constructor que establece los valores iniciales de las propiedades de la hoja de editor.

La clase del editor de expresiones personalizadas asociada crea una instancia de la hoja del editor derivada en el GetExpressionEditorSheet(String, IServiceProvider) método , inicializa esa instancia con la cadena de expresión actual establecida para la propiedad de control y devuelve la instancia al diseñador visual. El diseñador visual permite establecer las propiedades de la hoja de expresiones y, a continuación, llamar al GetExpression() método para formar la cadena de expresión a partir de los valores de propiedad de la hoja de expresiones de entrada.

Constructores

Nombre Description
ExpressionEditorSheet(IServiceProvider)

Inicializa una nueva instancia de la clase ExpressionEditorSheet.

Propiedades

Nombre Description
IsValid

Obtiene un valor que indica si la cadena de expresión es válida.

ServiceProvider

Obtiene la implementación del proveedor de servicios que usa la hoja del editor de expresiones.

Métodos

Nombre Description
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetExpression()

Cuando se reemplaza en una clase derivada, devuelve la cadena de expresión formada por los valores de propiedad de la hoja del editor de expresiones.

GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también